裝置狀態檢查
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 服務的參考。 |
處理流程
-
SGG/OUAF 會使用 OD_ServerService 來起始「停供偵測」服務
-
系統會載入複合特性。將區域變數初始化。這些變數大多包含會描述狀態的布林設定 (例如是否已傳回來自前端系統的同步回覆)
-
測試輸入是否包含失效時間 (expTime 元素)。
-
若為「是」:使用 AuxilaryRoutines 來計算逾時
-
若為「否」:使用複合特性及 AuxiliaryRoutines 來計算失效時間
-
-
「標頭」和「本文」輸入值都會轉換成 MultiSpeak 格式。您可以透過直接對應或透過 XSLT 來完成。在這個實例中,我們使用 XSLT 來分別轉換標頭和本文。
-
如果複合特性指出應進行處理呼叫,請在 OD_CalloutService 中執行「已到達要求」處理呼叫。將更新的資料指派給前端要求。
-
將回呼 URL 新增至前端要求。這就是前端將用來傳送停供偵測結果的端點。有些前端系統使用其他方法,例如預先設定回呼的 URL,或是允許輪詢以尋找結果。在此情況下,會在複合特性中設定 URL 並且對應至 OA_Server WSDL 的實作。當前端系統產生結果時,就會使用 ODEventNotification 方法將結果傳遞至此 URL。
-
透過前端系統的 OD_ServerProxy 來叫用 InitiateOutageDetectionEventRequest。
-
分割處理作業以處理同時發生的活動。「流程」活動會採用 BPEL 來進行,而且這是合理的行動,因為您可以讓某個處理作業來處理同步回應,並將回應傳回給呼叫程式。其他處理會休眠 (或「凍結」),直到非同步 ODEventNotification 抵達或達到逾時值為止。
-
處理要給 SGG/OUAF 的同步回應
-
如果複合特性指出應進行處理呼叫,請在 OD_CalloutService 中執行「已完成要求」處理呼叫。將更新的資料指派給前端回應。
-
把「標頭」及「本文」前端回應都轉換成 SGG/OUAF 格式。
-
以同步的結果回覆 SGG/OUAF。
-
設定布林變數,指出已傳回同步回覆。
-
-
等待前端系統的非同步回應。
-
接收來自 OA_ServerService 的 ODEventNotification。如果在逾時期間過後,請產生錯誤並停止等待。
-
以同步的方式回覆前端沒有發生任何錯誤。
-
如果複合特性指出應進行處理呼叫,請在 OA_CalloutService 中執行「已到達資料」處理呼叫。將更新的資料指派給傳入要求。
-
將「標頭」及「本文」都轉換成於 DG-OutageDetectionEventNotification 中所描述的內送 Web 服務格式。
-
使用新的資料來叫用內送 Web 服務。
-
-
-
「錯誤處理常式」會尋找自前端系統傳回的任何遠端錯誤。MultiSpeak API 沒有定義具名錯誤,但這種錯誤仍可能會發生。例如,可能會產生安全性錯誤或網路錯誤。
-
如果系統已將同步回覆傳回給呼叫程式,請終止流程。這表示發生錯誤且必定會在 Enterprise Manager 中進一步研究。
-
如果系統尚未傳送同步回覆,請停止進一步的處理,並撰寫包含錯誤資訊的回覆。
-