# WebService
## **概述**
## **配置概覽圖**
1. 接出配置圖

2. 接入配置圖

- “IP地址”輸入的“0.0.0.0”表示該接入將監聽前置系統機器的所有IP
## **接入開發**
- 接入服務啟動前,需要將WebService需要發布的類及其相關類的對應的Java文件一起拷貝到通訊接出對應的配置目錄,服務啟動時會自動編譯并加裝相關Java文件,并將服務類名配置的類發布為WebService服務務
- WebService開發通常需要定義輸入輸出數據結構、實現類;實現類方法中可以通過調用:(T)SoapUtils.callServiceImpl (arg0, arg1, …)將WEBSERVICE請求轉成前置流程調用,若參數argN需要作為輸出參數(接口中定義輸出參數形式:@WebParam(mode = Mode.OUT) Holder argX,在調用callServiceImpl時,需要傳入argX以及Txx.class兩個參數);
- 在前置接入流程中可通過“解包報文”不配置“輸入參數”獲取callServiceImpl的輸入參數到前置流程的“輸出參數”.argN;在流程中可以通過設置返回屬性“輸入參數”設置“return”(輸出參數設置“return0”、“return1”…),“輸入參數”設置為“${需要返回變量}”將前置流程的處理結果返回給WebService調用
## **接出開發**
- 調用接出訪問外圍系統的WebService服務時,WebService方法入參需要按順序arg0…argN保存到入參容器(Map)中傳入,WebService方法入參個數需與argN個數保持一致,WebService方法返回對象會返回到入參容器的return鍵當中
- WebService接入接口實現類方法中,可直接調用SoapUtils. callServiceImpl (param .....) 將客戶端傳入的參數轉換成前置系統內部數據(MAP),arg0,arg1…argN,同時將函數名存放到transCode對應的鍵中; 該函數返回值可在前置流程設置返回屬性返回