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 为空字符串,则在序列化错误时,将按如下所示转换第一个错误代码,如下所示:

这些转换允许指定 SOAP 错误代码,而无需担心使用哪个 SOAP 版本。

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