我创建了一个带有ws-security的axis 2 web服务(由rampart模块启用)。
我想在soapUi 4.5.1中测试它。以及soapUI建议我的请求如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:nlo="http://nlo">
<soapenv:Header/>
<soapenv:Body>
<nlo:echo>
<nlo:arg>echoo</nlo:arg>
</nlo:echo>
</soapenv:Body>
</soapenv:Envelope>
但是当我以这种方式测试时它会给我:缺少安全标头
所以我点击Show Project View - 点击Outgoing WS-Security Configuration;然后我添加WS Security Entry - UserName,我输入用户名,密码,对于PasswordType,我选择PasswordText
。
然后我再次回到我的请求 - 它与之前soapUI提出的相同,但这次我点击了AUT部分,对于Outgoing WSS,我选择了我的配置。一切正常。但我无法看到SoapUI添加的安全标头。 (既不在XML部分也不在RAW部分)。
提前感谢您的帮助!
答案 0 :(得分:16)
您可以在Raw部分中查看WS-Security标头块,但在此之前进行一些更改并重新发送请求。
答案 1 :(得分:3)
尝试使用Wireshark捕获整个请求。
我遇到了同样的麻烦。因此,通过Wireshark捕获网络流量似乎是下一个最佳方式。
请继续ping您发送SOAP请求的服务器,以便获取其IP地址。
然后在发送有问题的SOAP请求时使用Wireshark运行捕获并按目标IP过滤数据包。过滤器表达式如下所示:
ip.dst == [your server IP]
。
它应该已经捕获了协议类型HTTP / XML的数据包。 您可以在底部的 eXtensivle标记语言标签下找到您的请求。
PS。我知道这篇文章已经有一年左右了,但我会为其他任何人提示一下。
答案 2 :(得分:2)
WS-Security标头块在XML部分中不可见,但在运行测试后,它应该在Raw选项卡中可见。如果你重新运行测试,它仍然不存在吗?
您还可以尝试使用Fiddler或Request Bin来捕获发送到线路上的实际消息。