如何在知行之橋EDI系統(tǒng)中定時自動更換交易伙伴AS2證書?
為了保證客戶與交易伙伴之間數(shù)據(jù)傳輸?shù)陌踩裕珹S2傳輸協(xié)議中,通常會通過一對數(shù)字證書對傳輸數(shù)據(jù)進行簽名和加密。但是證書是有有效期的,在證書到期之前,需要貿(mào)易雙方及時更換新的證書。
在更新證書時,由于客戶通常是和海外合作伙伴進行EDI對接,雙方存在時差,無法在同一時間進行人工更換。因此,有客戶希望能夠在交易伙伴證書到期的時候,定時更換交易伙伴證書。針對這個需求,我們提出兩種不同的解決方案,可以實現(xiàn)定時自動更換交易伙伴AS2證書:
方案一 Script端口+自定義腳本
1.首先需要在知行之橋EDI系統(tǒng)的系統(tǒng)設(shè)置-證書界面上傳需要更新的證書。

2.在工作流界面左側(cè)的基礎(chǔ)欄中找到Script端口并拖出,左鍵單擊打開Script端口,在下方的腳本部分輸入對應(yīng)的更換證書腳本。

更換證書腳本(將此腳本中相關(guān)信息進行更改,復(fù)制在Script端口即可)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<rsb:set attr="http.header:value" value="9z2R1c1z8B0l7g5T9a7z"/>
<!—token-->
<!--Token在系統(tǒng)設(shè)置中的用戶界面,單擊用戶,刷新身份認證令牌即可獲取-->
<rsb:set attr="as2.connecitor" value="AS21"/>
<!—AS2端口名-->
<rsb:set attr="workspace.value" value="new"/>
<!—工作區(qū)-->
<rsb:set attr="cert.value" value="ArcESB.cer.cer"/>
<!—新的證書名-->
<rsb:set attr="http.url" value="http://localhost:8001/api.rsc/connectors"/>
<!—調(diào)用接口url-->
<!--調(diào)用接口url在API→系統(tǒng)API→資源中的/api.rsc/connectors中獲取-->
<!—下面是固定信息-->
<rsb:set attr="http.contenttype" value="application/json"/>
<rsb:set attr="http.header:name" value="x-rssbus-authtoken"/>
?
<rsb:set attr="http.putdata">{"ConnectorId": "[as2.connecitor]","Workspace": "[workspace.value]","certificate": "[cert.value]"}</rsb:set>
<rsb:call op="httpPut" in="http" out="output" >
</rsb:call>
3.打開Script端口的自動化設(shè)置界面,在下方的執(zhí)行間隔中設(shè)置需要執(zhí)行腳本的時間,下圖中的設(shè)置表示在本月第11天的4:20定時執(zhí)行自定義腳本。(需要注意的是,此處的時間為24小時制)設(shè)置完成后需要將接收勾選,勾選接收后端口將自按計劃執(zhí)行腳本。然接下來點擊右上角的保存變更。
到這里就已經(jīng)配置完成了,通過上述方法即可實現(xiàn)交易伙伴證書的定時自動更換,接下來我們介紹第二種方案。
方案二:Schedule端口+File端口
1.上傳新證書至data目錄下,需要注意:新證書名稱不得與舊證書相同
2.將AS2端口對應(yīng)文件夾下的port.cfg文件復(fù)制出來,修改文件中的Certificate=“new certificate name”(復(fù)制出來的文件命名依舊為port.cfg,與原文件名保持一致)
3.在工作流左側(cè)的基礎(chǔ)欄中拖出Schedule端口和File端口
4.在Schedule端口的計劃部分設(shè)置定時時間,例如此處設(shè)置在本周五03:45定時發(fā)送文件

5.File端口的設(shè)置界面中配置AS2端口的data folder,然后與Schedule端口相連即可

6.在File端口的高級設(shè)置界面,將復(fù)寫選項設(shè)置為Overwrite

7.最后將修改后的port.cfg文件上傳至Schedule端口,端口會根據(jù)設(shè)置的時間類型定時發(fā)送文件

到這里我們方案二的配置就已經(jīng)全部結(jié)束了,我們還可以在File端口After Send添加一個自定義腳本,實現(xiàn)成功更換證書的郵件通知。

郵件通知腳本:
1
2
3
4
5
6
7
<arc:set attr="Subject"value="Certificate has been replaced"/>
<!--Subject為發(fā)出郵件的標(biāo)題-->
<arc:set attr="Message"value="The certificate has been replaced,Please check!"/>
<!--Message為郵件的普通文本正文-->
<arc:set attr="To"value="收件郵箱"/>
<!--To為郵件接收地址,如需多個郵箱接收,則需要使用逗號分隔開-->
<arc:call op="appSendEmail"></arc:call>
以上為如何在知行之橋EDI系統(tǒng)中定時自動更換交易伙伴AS2 證書的兩種不同解決方案,可以根據(jù)自己的需求選擇合適的方案,如果您想了解更多有關(guān)知行之橋EDI系統(tǒng)中關(guān)于配置以及更新證書的相關(guān)問題,可以參考:如何在知行之橋EDI系統(tǒng)中配置更新證書
了解更多 EDI 信息,請參閱:?EDI 是什么?