0

我是soapUI 3.5 的新手。我尝试了一些 wsdl 来获取针对部署在 jboss 4.2.1 上的 Web 服务的安全性

在 soapUI 上运行测试时。它给了我

     <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
     <env:Header/>
     <env:Body>
     <env:Fault>
     <faultcode>env:Server</faultcode>
     <faultstring>org.jboss.ws.core.CommonSOAPFaultException: Required element did not contain a wsu:id.</faultstring>
     </env:Fault>
     </env:Body>
      </env:Envelope>

有什么建议么 ?

提前致谢

4

3 回答 3

1

我有同样的问题。我在JBoss 论坛上找到了解决方案

JBoss WS 客户端在元素中生成一个 wsu:Id 属性,SoapUI 不会自动插入该属性。这是我的默认 SoapUI 请求的样子(使用 XML 选项卡查看/编辑):

<soapenv:Header/>
  <soapenv:Body>
    <ser:getCutOffTime/>
  </soapenv:Body>

如果您在请求的正文中包含“虚拟”wsu:Id,则可以使用 SoapUI。确保包含命名空间:

<soapenv:Header/>
  <soapenv:Body wsu:Id="element-1-1272320911598-1522000" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <ser:getCutOffTime/>
  </soapenv:Body>

这为我解决了这个问题。我使用的是 JBoss 5.0。

于 2011-09-27T22:52:05.970 回答
0

我不认为这是一个安全例外。我相信您的 WSDL 格式不正确或与soapUI 测试工具不兼容。其他测试工具或客户端库也可能会抛出异常。这个 WSDL 是自动生成的吗?本来应该...

于 2010-04-16T16:35:33.517 回答
0

您运行的服务器不喜欢您的请求。可能是因为 SoapUI 使用 ? 作为占位符,或者可能是“lorem ipsum”值。用有效数据替换那些,它应该通过。

如果您有一个已经可以与该服务器通信的应用程序,您通常可以将这些请求复制/粘贴到 SoapUI 中。

此外,如果您无法捕获这些示例请求,请在 PC 上运行 Fiddler,它将充当代理,然后它会为您提供捕获示例负载的简单方法。SoapUI 也可以做到这一点,但 Fiddler 让它变得非常容易(自动配置你的 WinInet 以将自己用作代理)。

于 2010-04-16T18:21:48.017 回答