WS_FAULT結構 (webservices.h)

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

原因數組中的原因數目。 如果文字是以多種語言表示,則這會是多個。 必須至少有一個錯誤原因。

針對 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 內容包含在詳細資料元素內。 會忽略專案的本機名稱和命名空間;當寫入詳細資料元素時,會根據 WS_ENVELOPE_VERSION ,以適當的專案名稱取代它們。

規格需求

   
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
標頭 webservices.h