首页 文章

客户端可以发生SOAP故障吗?

提问于
浏览
1

我有与第三方Web服务接口的应用程序 . 在我的错误日志中,我偶尔会看到一个肥皂故障:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>68A4371:117259187 - Error: Invalid interval in timestamp</faultstring>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

我已经联系了第三方,他们声称我的服务请求没有显示在他们的日志中,并且错误发生在我身边 .

My Question: Is it possible to have a soap fault on the client side?

额外信息:我的客户端代码在VB.NET中,我们为第三方服务添加了服务引用 . 我们构建Custom绑定以在代码中连接到服务 .

1 回答

  • 2

    这听起来像是一个典型的供应商 - 他们正在甩掉你,因为支持者是个白痴,他们不知道如何解决这个问题 .

    您的客户端无法自行生成soap fault . 它必须来自服务器 .

    如果您的请求出现问题,则错误代码会说soap:Client(而不是soap:Server),在这种情况下,您需要做一些事情来解决它 .

    这里的问题是服务程序员在故障中添加了故障字符串,这基本上没有意义 -

    68A4371:117259187 - 错误:时间戳中的间隔无效

    你应该怎么处理这些信息?他们希望您采取什么补偿措施?

    从规格:

    faultstring元素旨在提供人类可读的故障解释,而不是用于算法处理 . faultstring元素类似于HTTP定义的'Reason-Phrase'(参见[5],第6.1节) . 它必须存在于SOAP Fault元素中,并且应该至少提供一些解释故障性质的信息 .

    我猜他们认为客户会像你一样打电话,而且代码对某些初级支持者来说意味着什么 .

    我会再次回到他们面前告诉他们解决这个问题 .

相关问题