SOAP 错误会发生在客户端吗?

Can a SOAP fault happen client side?

我有与第三方 Web 服务接口的应用程序。在我的错误日志中,我偶尔会看到 soap 错误:

<?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>

我已经联系了第三方,他们声称我的服务请求没有出现在他们的日志中,而且错误发生在我这边。

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

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

这听起来像一个典型的供应商 - 他们会把你吓跑,因为支持人员是个白痴,他们不知道如何解决问题。

您的客户端不可能单独生成 soap fault。它必须来自服务器。

如果您的请求有问题,故障代码会显示 soap:Client(而不是 soap:Server)并且在那个实例你将不得不做一些事情来修复它。

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

68A4371:117259187 - Error: Invalid interval in timestamp

您应该如何处理这些信息?他们希望您因此采取什么补偿措施?

来自规范:

The faultstring element is intended to provide a human readable explanation of the fault and is not intended for algorithmic processing. The faultstring element is similar to the 'Reason-Phrase' defined by HTTP (see [5], section 6.1). It MUST be present in a SOAP Fault element and SHOULD provide at least some information explaining the nature of the fault.

我猜他们假设客户会像您一样打电话,并且代码对一些初级支持人员来说意味着什么。

我会再次回到他们身边,告诉他们解决问题。