1

spring ws テンプレートを使用して Web サービス クライアントを作成しました。これは、http プロトコルに対して期待どおりに機能しています。今度は https で動作させたいと思います。関連するクライアント キー ストア (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」をスローします。

4

1 に答える 1

0

http://docs.spring.io/spring-ws/site/apidocs/org/springframework/ws/transport/http/HttpComponentsMessageSender.html#setHttpClient%28org.apache.http.client.HttpClient%29の javadoc を参照してください。

messageSender Bean の httpClient プロパティを設定します。

自己署名証明書の問題を回避するために httpClient Bean を構成する方法については、私の他の投稿を参照してください。 spring web を使用して投稿データを含む https 投稿リクエストを送信する

キーストアにキーをインポートする必要はありません。

于 2014-07-22T18:53:53.437 に答える