Я пытаюсь написать тесты интеграции на стороне сервера моей конечной точки Spring Web Service, защищенные с помощью - Spring WS Security 2.1.2.RELEASE и - WSS4j 1.6.9. Я стараюсь следовать документации Spring http://static.springsource.org/spring-ws/sites/2.0/reference/html/server.html. При установке, я получил до сих пор, я могу отправить запрос полезной нагрузкиИнтеграция Тестирование безопасного веб-службы Spring
<myns:MyRequest xmlns:myns="...">
...
</myns:MyRequest>
с использованием MockWebServiceClient в
mockWebServiceClient.sendRequest(withPayload(requestPayload)).andExpect(clientOrSenderFault());
которых интеграционный тест правильно отображает до конечной точки в контексте тестирования и я получаю «Не удалось проверить запрос: нет заголовка WS-Security found», как ожидалось.
Проблема: Теперь проблема в том, что если я отправлю запрос в конверте 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/ Конверт".
Есть ли способ обойти эту проблему?
Более новая версия Spring WS Test, которая представляет собой 2.1, содержит два метода, добавленных в RequestCreaters: RequestCreator withSoapEnvelope (Source soapEnvelope) и RequestCreator withSoapEnvelope (Resource soapEnvelope), которые я могу использовать для отправки конвертов SOAP для тестирования интеграции. http://forum.springsource.org/showthread.php?135298-Integration-Testing-of-secure-Spring-Web-Service – Lal