我正在尝试编写使用 - Spring WS Security 2.1.2.RELEASE 和 - WSS4j 1.6.9 保护的 Spring Web Service Endpoint 的服务器端集成测试。我正在尝试遵循 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”周围找到一个端点。
有没有办法解决这个问题?