gpt4 book ai didi

java - 使用 Spring WebserviceTemplate 发送安全请求

转载 作者:行者123 更新时间:2023-12-01 04:41:37 26 4
gpt4 key购买 nike

我使用 spring ws 模板创建了一个 Web 服务客户端。这按 http 协议(protocol)的预期工作。现在我想让它与 https 一起使用。我有相关的客户端 key 存储(jks 文件),现在我想配置消息发送者以发送安全请求。您能帮我解决这个问题吗?

这是我的 spring bean 配置:

<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 http://docs.spring.io/spring-ws/site/apidocs/org/springframework/ws/transport/http/HttpComponentsMessageSender.html#setHttpClient%28org.apache.http.client.HttpClient%29

设置 messageSender bean 的 httpClient 属性。

请参阅我的另一篇文章,了解如何配置 httpClient bean 以解决自签名证书问题。 sending https post request with post data using spring web

无需将 key 导入 keystore 。

关于java - 使用 Spring WebserviceTemplate 发送安全请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com