WSD 掃描服務作業錯誤報表
本節說明 WSD 掃描服務如何產生及傳送作業錯誤碼。 大部分作業可以傳回的錯誤碼,如 一般 WSD 掃描服務作業錯誤碼中所述。
當 WSD 掃描服務在處理 Xxx要求 作業時發生錯誤時,它會傳回錯誤碼,而不是 Xxx回應 元素。 掃描服務會在soap:Fault > 元素中 <傳回錯誤碼。
WSD 掃描服務內定義的所有錯誤訊息都必須根據 Web 服務定址 (WS 位址) 規格中所述的規則傳送。 具體而言,WSD 掃描服務應該將錯誤訊息傳送至下列位置:
如果存在且有效,則為 [錯誤端點]。
否則,如果存在,則為 [回復端點]。
否則,[來源端點]。
端點必須包含所有錯誤訊息上的必要訊息資訊標頭。 錯誤訊息會與回復相互關聯,方法是使用 WS-Addressing 中所定義的 [relationship] 屬性。 下列 [action] 屬性會指定錯誤訊息:
https://schemas.xmlsoap.org/ws/2004/08/addressing/fault
錯誤的定義使用下列屬性:
Fault 屬性 | 定義 |
---|---|
[程式碼] | 錯誤碼。 |
[子碼] | 錯誤次要代碼。 |
[原因] | 英文原因專案。 |
[詳細資料] | detail 元素。 如果這個專案不存在,則不會定義錯誤的詳細資料元素。 |
這些屬性系結至 SOAP 1.2 錯誤,如下列程式碼範例所示。
<S:Envelope>
<S:Header>
<wsa:Action>https://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<!-- Headers excluded for clarity -->
</S:Header>
<S:Body>
<S:Fault>
<S:Code>
<S:Value>[Code]</S:Value>
<S:Subcode>
<S:Value>[Subcode]</S:Value>
</S:Subcode>
</S:Code>
<S:Reason>
<S:Text xml:lang="en">[Reason]</S:Text>
</S:Reason>
<S:Detail>[Detail]</S:Detail>
</S:Fault>
</S:Body>
</S:Envelope>
下列程式碼範例顯示 SOAP 錯誤範例。
<soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soapelope"
xmlns:xml="https://www.w3.org/XML/1998/namespace"
xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:nprt="https://schemas.microsoft.com/windows/2006/01/wdp/scan">
<soap:Header>
<wsa:Action>https://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<!-- Headers excluded for brevity -->
</soap:Header>
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>env:Sender</soap:Value>
<soap:Subcode>
<soap:Value>wscn:OperationFailed</soap:Value>
</soap:Subcode>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Service cannot perform the requested operation</soap:Text>
</soap:Reason>
</soap:Fault>
</soap:Body>
</soap:Envelope>