1

Spring WS Security 2.1.2.RELEASE および - WSS4j 1.6.9 を使用して保護された Spring Web サービス エンドポイントのサーバー側統合テストを作成しようとしています。Spring のドキュメントhttp://static.springsource.org/spring-ws/sites/2.0/reference/html/server.htmlに従おうとしています。これまでの設定で、リクエストペイロードを送信できます

<myns:MyRequest xmlns:myns="...">
        ...
</myns:MyRequest>

MockWebServiceClient を次のように使用する

mockWebServiceClient.sendRequest(withPayload(requestPayload)).andExpect(clientOrSenderFault());

統合テストがテスト コンテキストのエンドポイントに適切にマップされ、期待どおりに「リクエストを検証できませんでした: WS-Security ヘッダーが見つかりませんでした」というエラーが表示されます。

問題:ここでの問題は、セキュリティ ヘッダーとボディを含む SOAP エンベロープでリクエストを送信すると、エンドポイントが見つからないという例外が発生することです。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:myns="...">
   <soapenv:Header>
       ...
   </soapenv:Header>
   <soapenv:Body>
      <myns:MyRequest>
        ...
      </myns:MyRequest>
   </soapenv:Body>
</soapenv:Envelope>

「{ http://schemas.xmlsoap.org/soap/envelope/ }Envelope」の周りでエンドポイントを見つけようとするためです。

この問題を回避する方法はありますか?

4

1 に答える 1

1

2.1 である Spring WS Test の新しいバージョンには、RequestCreaters に 2 つのメソッドが追加されています。http://forum.springsource.org/showthread.php?135298-Integration-Testing-of-secure-Spring-Web-Service

于 2013-03-31T04:37:00.950 に答える