我有这条消息
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring>LOGIN-ERR:Incorrect password - user could not be logged in.</faultstring> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>
Schema验证正常,但是SOAP UI工具,当点击“Check WS-I Compliance”时,它给出了BP1305断言失败的失败状态。我找不到1305是什么,这是详细的消息
Result failed Failure Detail Message HTTP/1.1 200 OK Transfer-Encoding: chunked Date: Thu, 22 Jul 2010 20:41:43 GMT Set-Cookie: JSESSIONID=C9D19FE6AAD89DFCB6BA9FE196E08D40; Path=/ Content-Type: text/xml;charset=utf-8 Server: Apache-Coyote/1.1
Element Location:
lineNumber=26
答案 0 :(得分:3)
问题似乎是您正在返回SOAP Fault消息,但HTTP状态代码为200,因此需要使用HTTP状态代码500发送SOAP Fault。
答案 1 :(得分:0)
您缺少故障消息中的detail元素。如果wsdl错误是作为请求中body元素内容的结果而生成的,那么它是必需的元素
消息应该是这样的(详细信息元素应该包含特定于应用程序的信息。但是可以接受为空。不容错过):
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>LOGIN-ERR:Incorrect password - user could not be logged in.</faultstring>
<detail></detail>
</soapenv:Fault>