SOAP web-service - 伪造服务器端错误?

时间:2012-02-12 18:03:31

标签: web-services soap soapfault

我的iphone应用正在使用soap web-services。我想知道如果web服务返回一个soap错误它会如何表现?

我使用charles(HTTP代理)来捕获响应并修改响应,然后再将其发送到我的iPhone应用程序。我尝试做的是修改成功的soap响应,并将其转换为soap fault,以查看我的应用程序的行为。

问题: SOAP错误响应如何? (使用restful我只需将responseCode更改为504,如何使用SOAP实现此目的?)

1 个答案:

答案 0 :(得分:1)

  

SOAP错误响应如何?

以下是SOAP响应失败的示例:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header />
  <s:Body>
    <s:Fault>
      <faultcode>s:Client</faultcode>
      <faultstring xml:lang="en-US">The creator of this fault did not specify a Reason.</faultstring>
      <detail>
        <MyFault xmlns="http://schemas.datacontract.org/2004/07/ToDD" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
          <MyProperty>some value</MyProperty>
        </MyFault>
      </detail>
    </s:Fault>
  </s:Body>
</s:Envelope>

正如您所看到的,SOAP响应主体中有一个特殊的<Fault>节点,它可以包含描述SOAP错误的任何XML。自定义XML应位于<detail>子节点中。