webservices.h) (WS_FAULT 结构
Fault 是消息正文中携带的值,用于传达处理失败。 使用 WS_FAULT 结构对故障进行建模。
语法
typedef struct _WS_FAULT {
WS_FAULT_CODE *code;
WS_FAULT_REASON *reasons;
ULONG reasonCount;
WS_STRING actor;
WS_STRING node;
WS_XML_BUFFER *detail;
} WS_FAULT;
成员
code
用于标识故障类型的错误代码列表的头。
错误代码按最通用到最具体的顺序排序。 必须至少有一个错误代码。 第一个错误代码必须与 SOAP 定义的错误代码相对应。 对于 WS_ENVELOPE_VERSION_SOAP_1_1,只有最具体的错误代码 (列表中的第一个) 序列化。
如果第一个错误代码的命名空间 URI 为空字符串,则在序列化错误时,将按如下所示转换第一个错误代码,如下所示:
- 将根据 WS_ENVELOPE_VERSION使用相应的 SOAP 命名空间。
- 如果使用 WS_ENVELOPE_VERSION_SOAP_1_1 时本地名称为“Sender”,则将改用“Client”。
- 如果使用 WS_ENVELOPE_VERSION_SOAP_1_1 时本地名称为“Receiver”,则将改用“Server”。
reasons
描述错误的文本。 这是一个允许不同语言的数组。
reasonCount
reasons 数组中的原因数。 如果文本以多种语言表示,则这将是多个文本。 必须至少有一个故障原因。
对于 WS_ENVELOPE_VERSION_SOAP_1_1,仅序列化第一个原因。
actor
导致故障的处理器的名称。 如果字符串长度为零,则假定它是终结点。
node
导致故障的处理器的位置。 如果字符串长度为零,则假定它是终结点。
对于 WS_ENVELOPE_VERSION_SOAP_1_1,此值不会序列化。
detail
错误详细信息允许将 XML 内容与错误一起包含在内。 如果没有详细信息,则此字段可能为 NULL。
对于 WS_ENVELOPE_VERSION_SOAP_1_1,仅当错误与消息标头的处理无关时,才应使用此方法。 与标头相关的错误应使用自定义标头来中继有关错误的信息。
如果存在错误的详细信息, 则WS_XML_BUFFER 应包含与 SOAP 错误的详细信息元素对应的元素。 特定于错误的 XML 内容包含在 detail 元素中。 忽略元素的本地名称和命名空间;写入 detail 元素时,它们会根据 WS_ENVELOPE_VERSION 替换为相应的元素名称。
要求
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
标头 | webservices.h |