裝置狀態檢查

DeviceStatusCheck 可用來判斷計量表的健全度,以及測試是否可連接到網路上的計量表。

複合特性

特性名稱

預設值

描述

OD_​ServerCallbackEndpoint

http://127.0.0.1:8001/soa-infra/services/DG/DeviceStatusCheck/OA_​ServerService

作為 MultiSpeak 傳送非同步 OA_​Server 回呼之目標的預設端點。

isExecutingInitODRequest-ReceivedCallout

true

控制是否要執行「已到達要求」呼叫。

isExecutingInitODEventRequest-Completed

true

控制是否要執行「已完成要求」呼叫。

isExecutingODEventNotification-Arrived

true

控制是否要執行 ODEventNotification 到達呼叫。

timeout.callback.years

0

要等待 MultiSpeak 伺服器之回應的年數。只有在您沒有於服務輸入中提供 expTime 元素時,此特性才會生效。

timeout.callback.months

0

要等待 MultiSpeak 伺服器之回應的月數。只有在您沒有於服務輸入中提供 expTime 元素時,此特性才會生效。

timeout.callback.days

0

要等待 MultiSpeak 伺服器之回應的天數。只有在您沒有於服務輸入中提供 expTime 元素時,此特性才會生效。

timeout.callback.hours

0

要等待 MultiSpeak 伺服器之回應的時數。只有在您沒有於服務輸入中提供 expTime 元素時,此特性才會生效。

timeout.callback.minutes

0

要等待 MultiSpeak 伺服器之回應的分鐘數。只有在您沒有於服務輸入中提供 expTime 元素時,此特性才會生效。

timeout.callback.seconds

45

要等待 MultiSpeak 伺服器之回應的秒數。只有在您沒有於服務輸入中提供 expTime 元素時,此特性才會生效。

複合 WSDL

複合

描述

OD_​ServerService

DeviceStatusCheck 的進入點。在同步回覆之後,使用 DG-OutageDetectionEventNotification 以非同步方式將進一步更新傳送至指定位置。

OA_​ServerService

受託管的 MultiSpeak WSDL 可接收來自前端系統的非同步 ODEventNotification 回呼。

OD_​ServerProxy

描述用來叫用前端系統以起始「裝置狀態檢查」之 Proxy 的參考。

OA_​ServerCallout

描述來自前端系統的非同步回呼抵達時所使用之處理呼叫的參考。

OD_​ServerCallout

描述起始「裝置狀態檢查」時所使用之處理呼叫的參考。

AuxilaryRoutines

「通用」複合中通用協助程式常式的參考。

DG-OutageDetectionEventNotificationXAI

處理「裝置狀態檢查」要求的非同步結果之內送 Web 服務的參考。

處理流程

  1. SGG/OUAF 會使用 OD_​ServerService 來起始「停供偵測」服務

  2. 系統會載入複合特性。將區域變數初始化。這些變數大多包含會描述狀態的布林設定 (例如是否已傳回來自前端系統的同步回覆)

  3. 測試輸入是否包含失效時間 (expTime 元素)。

    • 若為「是」:使用 AuxilaryRoutines 來計算逾時

    • 若為「否」:使用複合特性及 AuxiliaryRoutines 來計算失效時間

  4. 「標頭」和「本文」輸入值都會轉換成 MultiSpeak 格式。您可以透過直接對應或透過 XSLT 來完成。在這個實例中,我們使用 XSLT 來分別轉換標頭和本文。

  5. 如果複合特性指出應進行處理呼叫,請在 OD_​CalloutService 中執行「已到達要求」處理呼叫。將更新的資料指派給前端要求。

  6. 將回呼 URL 新增至前端要求。這就是前端將用來傳送停供偵測結果的端點。有些前端系統使用其他方法,例如預先設定回呼的 URL,或是允許輪詢以尋找結果。在此情況下,會在複合特性中設定 URL 並且對應至 OA_​Server WSDL 的實作。當前端系統產生結果時,就會使用 ODEventNotification 方法將結果傳遞至此 URL。

  7. 透過前端系統的 OD_​ServerProxy 來叫用 InitiateOutageDetectionEventRequest。

  8. 分割處理作業以處理同時發生的活動。「流程」活動會採用 BPEL 來進行,而且這是合理的行動,因為您可以讓某個處理作業來處理同步回應,並將回應傳回給呼叫程式。其他處理會休眠 (或「凍結」),直到非同步 ODEventNotification 抵達或達到逾時值為止。

    • 處理要給 SGG/OUAF 的同步回應

      • 如果複合特性指出應進行處理呼叫,請在 OD_​CalloutService 中執行「已完成要求」處理呼叫。將更新的資料指派給前端回應。

      • 把「標頭」及「本文」前端回應都轉換成 SGG/OUAF 格式。

      • 以同步的結果回覆 SGG/OUAF。

      • 設定布林變數,指出已傳回同步回覆。

    • 等待前端系統的非同步回應。

      • 接收來自 OA_​ServerService 的 ODEventNotification。如果在逾時期間過後,請產生錯誤並停止等待。

      • 以同步的方式回覆前端沒有發生任何錯誤。

      • 如果複合特性指出應進行處理呼叫,請在 OA_​CalloutService 中執行「已到達資料」處理呼叫。將更新的資料指派給傳入要求。

      • 將「標頭」及「本文」都轉換成於 DG-OutageDetectionEventNotification 中所描述的內送 Web 服務格式。

      • 使用新的資料來叫用內送 Web 服務。

  9. 「錯誤處理常式」會尋找自前端系統傳回的任何遠端錯誤。MultiSpeak API 沒有定義具名錯誤,但這種錯誤仍可能會發生。例如,可能會產生安全性錯誤或網路錯誤。

    • 如果系統已將同步回覆傳回給呼叫程式,請終止流程。這表示發生錯誤且必定會在 Enterprise Manager 中進一步研究。

    • 如果系統尚未傳送同步回覆,請停止進一步的處理,並撰寫包含錯誤資訊的回覆。