JerryXML invoke Srv Soft ABC request typesync keyabed
Jerry首先要組出標準訊息的XML後, 呼叫中台接口invoke. Srv Soft. ABC → 互聯中台 <request type="sync" key="abed 78 b 31 dbfd 0 a 2 d 7454203 b 923661 e"> <host prod=“Soft. ABC" ver="1. 0" ip="10. 20. 86. 123" id="" timestamp="20160414190605947" acct="" /> <service prod=“T 100" name=" stockin_data. create " srvver="1. 0"/> <payload> <!-- 符合標準訊息格式的應用資料 --> key為整合驗證碼,將<host><service>內容 </payload> 透過MD 5動態產生 </request> <host prod=“Soft. ABC" ver="1. 0" ip="10. 20. 86. 123" id="" timestamp="20160414190605947" acct="" /> <service prod=“T 100" name=" stockin_data. create " srvver="1. 0"/> MD 5 abed 78 b 31 dbfd 0 a 2 d 7454203 b 923661 e ,回寫key內容值 Soft. ABC ← 互聯中台 <response> <reqid>3175562140567422664467</reqid> <srvver>1. 0</srvver> <srvcode>000</srvcode> <payload> <!– 服務執行結果 --> </payload> </response> 收到中台回傳的服務執行結果, Jerry解析訊息內容, 就完成請求建立 單的整合
互聯中台 → 服務端 Jerry首先要解析中台送過來的 T 100 單發料新增請求服務。 <request id="1 c 88 ab 73 -d 1 ae-4151 -a 8 d 2 -d 9714 cbd 8 ee 1"> <host prod="T 100" ver="1. 0" ip="10. 40. 18" id="t 10 tst" timestamp="20160414190605947" acct="" /> <service prod=“Soft. ABC" name="issue_wo_item. create" srvver="1. 0"/> <payload> <!-- 符合標準訊息格式的應用資料 --> </payload> </request> <response> <srvver>1. 0</srvver> <srvcode>000</srvcode> <payload> <param key="data" type="xml" > 互聯中台 ← 服務端 <datainfo> <execution> <status code="0" sqlcode="0" description="" /> 完成 單發料新增後, </execution> Jerry要組出標準格式的XML回應訊息, </datainfo> 回覆給中台即可。 </param> </payload> </response>
測試 n 使用如SOAPUI的 具,模擬T 100,發出 Soft. ABC的服務請求 <request id="1 c 88 ab 73 -d 1 ae-4151 -a 8 d 2 -d 9714 cbd 8 ee 1"> <host prod="T 100" ver="1. 0" ip="10. 40. 18" id="t 10 tst“ timestamp="20160414190605947" acct="" /> <service prod=“Soft. ABC" name="issue_wo_item. create" srvver="1. <payload> </request> n 可於中台[紀錄檢視]中查看測試結果 ü 看到狀態碼為 019之紀錄,表示測試成功
中 台 回 傳 狀 態 碼 2 0 1 ~ 205錯誤原因: host內容與中台產品註冊資訊不同 type="sync"><!--我是誰 需與中台[產品維護]的SI註冊資訊相同 建議prod <request key="5 aec 6098 e 61 a 6 a 71 c 3 bf 9 aff 98 a 7 f 544" ver ip做成參數檔可配置--> <host prod="Soft. ABC" ver="1. 0" ip="10. 40. 71. 91" acct="user 01" timestamp="20151211123204361" /><!--要找誰 需與中台[產品維護]的服務端註冊資訊相同(ex. SFT, MES) 建議prod做成參數檔可 配置--> <service prod="SFT" name="machine. status. get" /><!--信件內容 --> <payload> <param key="std_data" type="xml"> <data_request> <datainfo> <parameter key="site_no" type="string">分公司編號</parameter> <parameter key="session_no" type="string">Login Session id</parameter> <parameter key="environment" type="string">使用環境</parameter> 201找不到指定的服務名稱 <parameter key="machine_status_data" type="data"> <data name="machine_status"> 錯誤原因:service的name內容,在中台[服務註冊]中 <row seq="1"> <field name="machine_no" type="string">設備編號</field> 找不到該服務。 </row> </data> </parameter> </datainfo> </data_request> 解決方式:參見中台註冊服務 </param> </payload><!--信件內容 --></request> 203找不到指定的服務主機 錯誤原因: service的prod內容與中台[產品註冊]資訊不同 解決方式:修正產品資訊與中台產品維護上的一致。參見 中台產品維護
- Slides: 20