【问题标题】:where can I see the security header which soapUI adds to my request我在哪里可以看到soapUI 添加到我的请求中的安全标头
【发布时间】:2018-11-30 04:05:31
【问题描述】:

我创建了一个带有 ws - 安全性的轴 2 Web 服务(由壁垒模块启用)。

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

提前感谢您的帮助!

【问题讨论】:

  • 在发送请求后我也无法看到额外的标头。使用Outgoing WSS -&gt; Apply " &lt;profile_name&gt; " 对我也不起作用。

标签: soapui


【解决方案1】:

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

【讨论】:

  • 如果您在 Windows 上,首选项选项会出现在文件菜单下。
【解决方案2】:

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

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

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

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

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

附言。我知道这篇文章已经有一年了,但我想给其他人一个提示。

【讨论】:

  • 您好@deRailed 我正在尝试使用此方法,但我的请求必须是 SSL - 我可以找到有效负载,但它已经加密。有没有办法添加证书密钥来解密消息,以便我可以看到原始肥皂传输?
【解决方案3】:

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

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

【讨论】:

  • 不,很遗憾我在 RAW 标签中看不到它,我无法解释原因!
  • 您是否尝试过创建请求箱 (requestb.in) 并向其发送消息?这至少会向您显示soapUI 发出的实际消息,这当然应该与您在“原始”选项卡中看到的内容相匹配。
猜你喜欢
  • 1970-01-01
  • 2017-12-18
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 1970-01-01
  • 1970-01-01
  • 2017-05-16
相关资源
最近更新 更多