第二十一章 SOAP 错误处理 - SOAP 错误代码的宏

76 阅读1分钟

第二十一章 SOAP 错误处理 - SOAP 错误代码的宏

SOAP 错误代码的宏

SOAP 包含文件 (%soap.inc) 为一些标准 SOAP 错误代码定义了宏;这些宏列于下表中。可以使用这些宏来指定 SOAP 错误代码。该表列出了每个宏适用的 SOAP 版本。

SOAP 故障代码的 ObjectScript 宏

MacroSOAP Version(s)When to Use This Macro
$$$FAULTVersionMismatch1.1 and 1.2Web 服务收到包含无效元素信息项而不是预期的信封元素信息项的 SOAP 消息时。如果命名空间或本地名称不匹配,则会发生不匹配。
$$$FAULTMustUnderstand1.1 and 1.2Web 服务收到包含标记为 mustUnderstand="true" 的意外元素的 SOAP 消息时
$$$FAULTServer1.1当发生其他服务器端错误时。
$$$FAULTClient1.1当客户提出不完整或不正确的请求时。
$$$FAULTDataEncodingUnknown1.2当参数以接收方不知道的数据编码进行编码时。
$$$FAULTSender1.2当发送方发出不完整、不正确或不支持的请求时。
$$$FAULTReceiver1.2当接收方由于某些临时条件(例如内存不足)而无法处理消息时。

手动创建故障对象

如果需要比上一节所提供的步骤更多的控制,可以创建并返回一个自定义SOAP错误,如下所示:

  1. 手动创建故障对象。

为此,请在创建 %SOAP.Fault 的实例(对于 SOAP 1.1)或在创建 %SOAP.Fault12的实例(对于 SOAP 1.2),然后设置其属性,如以下部分所述。

注意:在所有情况下,都可以在使用 %SOAP.Fault。如果 Web 服务收到 SOAP 1.2 请求并需要返回错误,则 Web 服务会自动将错误转换为 SOAP 1.2 格式。

  1. 调用 Web 服务的 ReturnFault() 方法,将故障对象作为参数传递。请注意,ReturnFault() 不会返回给其调用者;它只是发送故障并终止 Web方法的处理。