Java 使用SpringWebServiceTemplate发送安全请求

Java 使用SpringWebServiceTemplate发送安全请求,java,spring,Java,Spring,我已经使用SpringWS模板创建了一个web服务客户端。这与http协议的预期效果一样。现在我想让它与https一起工作。我有相关的客户机密钥存储(jks文件),现在我想配置消息发送者来发送安全请求。 你能帮我处理这件事吗 以下是我的Springbean配置: <bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"/> <bean id="tokenrM

我已经使用SpringWS模板创建了一个web服务客户端。这与http协议的预期效果一样。现在我想让它与https一起工作。我有相关的客户机密钥存储(jks文件),现在我想配置消息发送者来发送安全请求。 你能帮我处理这件事吗

以下是我的Springbean配置:

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"/>
<bean id="tokenrMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="contextPath" value="com.token.dto.v1" />
</bean>
<bean id="tokenServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
    <constructor-arg ref="messageFactory" />
    <property name="marshaller" ref="tokenrMarshaller"></property>
    <property name="unmarshaller" ref="tokenrMarshaller"></property>
    <property name="messageSender">
        <bean class="org.springframework.ws.transport.http.HttpComponentsMessageSender" />    
    </property>
    <property name="defaultUri" value="${token.url}" />       
</bean>

如果我在没有任何配置的情况下将url从http更改为https,则应用程序将抛出“org.springframework.ws.client.WebServiceTransportException”。

有关详细信息,请参阅javadoc

设置messageSender bean的httpClient属性

请参阅我关于如何配置httpClient bean以解决自签名证书问题的另一篇文章。

无需将密钥导入密钥库