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

时间:2015-05-18 15:52:32

标签: web-services wcf soap

我有与第三方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>

我已联系过第三方,他们声称我的服务请求并未显示在他们的日志中,并且错误发生在我身边。

我的问题:客户端是否可能出现肥皂故障?

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

1 个答案:

答案 0 :(得分:2)

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

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

如果您的请求出现问题,则错误代码会显示 soap:Client (而不是 soap:Server ),在这种情况下,您必须执行某些操作要解决这个问题。

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

  

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

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

来自规范:

  

faultstring元素旨在提供人类可读性   故障的解释,不适用于算法   处理。 faultstring元素类似于&#39; Reason-Phrase&#39;   由HTTP定义(见[5],第6.1节)。它必须存在于SOAP中   故障元素和应该提供至少一些信息解释   故障的本质。

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

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