共用方式為


WSD 掃描服務作業錯誤報表

本節說明 WSD 掃描服務如何產生及傳送作業錯誤碼。 大部分作業可以傳回的錯誤碼,如 一般 WSD 掃描服務作業錯誤碼中所述。

當 WSD 掃描服務在處理 Xxx要求 作業時發生錯誤時,它會傳回錯誤碼,而不是 Xxx回應 元素。 掃描服務會在soap:Fault > 元素中 <傳回錯誤碼。

WSD 掃描服務內定義的所有錯誤訊息都必須根據 Web 服務定址 (WS 位址) 規格中所述的規則傳送。 具體而言,WSD 掃描服務應該將錯誤訊息傳送至下列位置:

  1. 如果存在且有效,則為 [錯誤端點]。

  2. 否則,如果存在,則為 [回復端點]。

  3. 否則,[來源端點]。

端點必須包含所有錯誤訊息上的必要訊息資訊標頭。 錯誤訊息會與回復相互關聯,方法是使用 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>