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 是空字串,則當錯誤序列化時,第一個錯誤碼會如下所示進行轉換,如下所示:
- 系統會根據 WS_ENVELOPE_VERSION使用適當的 SOAP 命名空間。
- 如果使用 WS_ENVELOPE_VERSION_SOAP_1_1時,本機名稱為 「Sender」,則會改用 「Client」。
- 如果使用 WS_ENVELOPE_VERSION_SOAP_1_1時,本機名稱為 「Receiver」,則會改用 「Server」。
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 |