13

我创建了一个带有 ws - security 的轴 2 Web 服务(由 armart 模块启用)。

我想在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 部分)。

在此先感谢您的帮助!

4

3 回答 3

17

您可以在 Raw 部分查看 WS-Security 标头块,但在前往之前进行一些更改并重新发送请求。在此处输入图像描述

于 2014-05-23T10:14:57.653 回答
3

尝试使用 Wireshark 捕获整个请求。

我遇到了同样的麻烦。因此,通过Wireshark捕获网络流量似乎是下一个最佳方法。

只需继续 ping 您正在向其发送 SOAP 请求的服务器,以便获得其 IP 地址。

然后在发送有问题的 SOAP 请求时使用 Wireshark 运行捕获,并按目标 IP 过滤数据包。过滤器表达式将如下所示:
ip.dst == [your server IP].

它应该已经捕获了协议类型为 HTTP/XML 的数据包。您可以在底部的eXtensivle Markup Language选项卡下找到您的请求。

PS。我意识到这篇文章已经有一年左右的历史了,但我想给其他任何人一个提示。

于 2014-05-09T19:22:36.130 回答
2

WS-Security 标头块在 XML 部分中不可见,但在运行测试后它应该在 Raw 选项卡中可见。如果您重新运行测试,它仍然不存在吗?

您还可以尝试使用FiddlerRequest Bin来捕获发送到网络上的实际消息。

于 2013-04-11T15:36:45.367 回答