4

Spring-WS WebserviceTemplate を使用して Web サービスを呼び出し、SOAP エンベロープが生成されるのを回避できますか? つまり、メッセージには既に SOAP エンベロープが含まれており、WebserviceTemplate が別のエンベロープをラップすることは望ましくありません。:-)

これが必要な理由は、ws-security を使用する Web サービスを呼び出したいが、ws-security のものを WebserviceTemplate に入れたくないが、事前に生成された ws-security でメッセージをフィードしたいだけだからです。 SOAP エンベロープの情報。メソッドsendSourceAndReceiveToResultを呼び出してみましたが、Source には既に WS-Security を含む Soap-Envelope が含まれており、Web サービス テンプレートは別の Soap-Envelope をラップしてメッセージを破棄します。

4

2 に答える 2

4

あなたは奇妙な方法でws-securityを使用しています...事前に生成されたメッセージを使用してws-securityの依存関係を回避しようとしていると思います-単純なクライアントの場合は理にかなっているかもしれませんが、それは間違いなく本ではありません.

WebServiceTemplate の messageFactory をこの Bean に設定することで、SOAP なしでプレーン XML を使用するように WebServiceTemplate を構成できます。

<bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
    <property name="messageFactory" ref="poxMessageFactory" />
</bean>    

<bean id="poxMessageFactory" class="org.springframework.ws.pox.dom.DomPoxMessageFactory" />
于 2009-01-06T07:58:55.107 に答える
0

インターセプターは、あなたがやろうとしている種類のことで役に立ちます。ここでインターセプターの階層を見てみましょう : http://static.springframework.org/spring-ws/docs/1.0-m1/api/org/springframework/ws/EndpointInterceptor.html好みに応じて応答を操作します。

于 2008-12-13T03:17:56.640 に答える