通過 WebSphere Partner Gateway V6.2 實現 EDI,第 2 部分
簡介: 本文章系列講述如何使用 WebSphere Partner Gateway V6.2 進行 Electronic Data Interchange (EDI) 轉換。第 2 部分演示如何實現兩個不同的拆封和 EDI 轉換操作 —— EDI 到 XML 轉換和 EDI 到面向記錄的資料(Record-Oriented Data,ROD)轉換。
本文介紹 IBM® WebSphere® Partner Gateway V6.2 中的兩個轉換和封裝(enveloping)場景。在場景 1 中,WebSphere Partner Gateway 從一個內部或外部合作伙伴接收一些 XML 文件,將它們轉換為 EDI 事務,封裝事務,然後將它們返回內部或外部合作伙伴。在場景 2 中,WebSphere Partner Gateway 從一個內部或外部合作伙伴接收一些面向記錄的資料(ROD)文件,將這些文件轉換為 EDI 事務,封裝事務,然後將它們返回內部或外部合作伙伴。(ROD 文件是遵守一個專用格式的文件。)
拆封(de-enveloping)指的是將一個單一的 EDI 文件拆分為它的多個元素 EDI 業務文件,這些文件稱為 “事務”。在 EDIFACT 標準中,這些文件稱為 “訊息”。每個事務或訊息作為單獨的業務文件流流經文件管理器。拆封不同於分割(splitting)。當多個 EDI 文件被放置到一個檔案中時適合使用分割方法,而且這些文件相互之間可能沒有任何關係。EDI 拆分程式提取 Enveloper 級別、Group 級別和 Transaction 級別資訊。
- 應該安裝並執行 WebSphere Partner Gateway V6.2
- 下載本文末尾的 samples.zip 並將其解壓縮到一個資料夾中,它包含樣例對映和輸入檔案。
在場景 1 中,來自源貿易伙伴的一個入站 EDI X12 ISA 穿過一個集線器,這個 EDI 在集線器中轉換為 XML,輸出 XML 然後被髮送到目標貿易伙伴。對映是 EDI-XMLcompiled.eif,輸入檔案是 EDI_855_XMLInput.edi。
- 登入 WebSphere Partner Gateway 社群控制檯。
- 導航到 Wizards => EIF Import Wizard。
- 單擊 Browse 並從檔案系統選擇 EDI-XMLcompiled.eif。
- 單擊 Import:
圖 2. 使用 EIF Import Wizard 匯入一個對映
- 下一個螢幕開啟:
圖 3. Import summary 螢幕
- 單擊 Next 檢視使用這個對映匯入建立的事務:
圖 4. 建立的預設互動
- 單擊 Next,然後單擊 Finish:
圖 5. Import completion 螢幕
- 導航到 Hub Admin => Hub Configuration => Maps => Transformation maps。轉換對映 EDI_XML_PO-ACK 應該被列示出來。
- 單擊 View details 圖示檢查在源和目標端的文件定義。
圖 6. 從源到目標的文件定義
- 導航到 Hub Admin => Receivers。
- 單擊 Create Receiver。
- 指定接收器的名稱。例如:FileReceiver。
- 選擇 Transport 作為 File directory。
- 指定 Document Root Path。例如:/FileReceiver。
- 單擊 Save。只有在預期輸入文件帶有多個 EDI ISA 時才需要 EDI Splitter。
- 建立一個 Internal Partner,名稱為 Manager,DUNS id 為 123123123。
- 建立一個 External Partner,名稱為 Partner,DUNS id 為 321321321。
- 編輯輸入檔案 EDI_855_XMLInput.edi,修改 Sender 和 Receiver IDs,如下所示:
圖 7. 修改輸入 XML 檔案中的 Sender 和 Receiver IDs
- 選擇 transport 作為 File Directory,建立 Manager 和 Partner 的 Destinations。
- 對於 EDI 到 XML 場景,建立兩個互動:一個對應於拆封,另一個對應於生成的已拆封訊息到 XML 的轉換。
- 驗證和轉換的互動已經在匯入對映時建立。
- 導航到 Hub Admin => Document Definition => Create interaction。
- 選擇以下專案,為拆封建立一個互動:
- Source Package: N/A, Protocol: EDI-X12(ALL), Document Flow: ISA(ALL)
- Target Package: None, Protocol:EDI-X12(ALL), Document Flow:ISA (ALL)
- Action EDI De-envelope
- 為 Manager (Internal Partner) 啟用以下 Package、Protocol 和 Document Flow:
- Package: None, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
- Package: N/A (N/A), Protocol: X12V4R1 (ALL), Document Flow: 855 (ALL)
- 為 Partner (External Partner) 啟用以下 Package、Protocol 和 Document Flow:
- Package: N/A, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
- Package: None (N/A), Protocol: CUSTOM_XML(ALL), Document Flow: PURCHASE_ORDER_ACK(ALL)
- 導航到 Account Admin => Connections。
- 從 Source 下拉選單中選擇 Manager。
- 從 Target 下拉選單中選擇 Partner。
- 這些連線應該被啟用,如下所示:
圖 8. 啟用合作伙伴連線
每個封裝的 EDI 文件都有一個關聯的控制編號,作為 ISA 段的一部分,這個控制編號惟一識別入站文件。為了多次使用相同的輸入文件,需要告知 WebSphere Partner Gateway 允許副本控制編號,否則,它將不處理文件,並丟擲一個副本交換錯誤:
- 導航到 Hub Admin => Hub Configuration => Document Definition。
- 單擊 Package: None 旁邊的展開節點圖示,這將開啟所有可用協議的列表。
- 單擊 Protocol: EDI-X12 (ALL) 旁邊的編輯屬性圖示。
- 定位 Document Flow Context Attributes 下方的 Allow documents with duplicate document ids 屬性,從下拉選單中選擇 Yes。
- 單擊 Save。
- 將輸入檔案 EDI_855_XMLInput.edi 複製到 FileReceiver/Documents/Production 資料夾。
- 導航到 Viewers => Document Viewer,檢查文件狀態。這個 EDI 文件應該被拆封並轉換為 XML。
- 這個 XML 文件被髮送到 Partner 目的地。
- 輸出事務如下所示:
圖 9. Document Viewer 中的事務
在場景 2 中,一個來自源貿易伙伴的入站 EDI X12 ISA 穿過集線器,該 EDI 在集線器中轉換為 ROD,然後被髮送到目標貿易伙伴。對映是 compiledEDI_ROD.eif,輸入檔案是 edi2adf.inp:
- 使用 EIF Import Wizard 匯入對映,如場景 1 的步驟 1 所述:
圖 11. Map import completion 螢幕
參見場景 1 的步驟 2 驗證:S-DT-EDI-TO-ADF 是否列示,文件定義是否建立。
- 導航到 Hub Admin => Receivers。
- 單擊 Create Receiver。
- 指定 Receiver 的名稱。例如:EDItoRODFileReceiver。
- 選擇 Transport 作為 File Directory。
- 指定 Document Root Path。例如:/EDItoRODFileReceiver。
- 單擊 Receiver Creation 頁面上的 Save。
在場景 1 的步驟 4 中建立的合作伙伴可以在這個場景中重用,或者,也可以建立新的合作伙伴。為簡便起見,重用場景 1 中建立的合作伙伴。編輯輸入檔案 edi2adf.inp,修改 Sender 和 Receiver IDs,如圖 7 中的 場景 1 所示。
選擇 transport 作為 File Directory,建立 Manager 和 Partner 的 Destinations。這個步驟可以重用場景 1 中建立的目的地。
對於 EDI 到 ROD 場景,建立兩個互動:一個對應於拆封,一個對應於生成的已拆封訊息到 ROD 的轉換。第一個互動已經在場景 1 的步驟 6 中建立,第二個互動已在轉換對映匯入時建立。
- 為 Manager (Internal Partner) 啟用以下 Package、Protocol 和 Document Flow:
- Package: None, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
- Package: N/A, Protocol: X12V2R1 (ALL), Document Flow: 850 (ALL)
- 為 Partner (External Partner) 啟用以下 Package、Protocol 和 Document Flow:
- Package: N/A, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
- Package: None, Protocol: DEMO850CL_DICTIONARY (ALL), Document Flow: DEMO850CLSUW (ALL)
- 導航到 Account Admin => Connections。
- 從 Source 下拉選單中選擇 Manager。
- 從 Target 下拉選單中選擇 Partner。
- 啟用連線,如下所示:
圖 12. 啟用合作伙伴連線
這個配置已經在場景 1 的步驟 9 中完成。
- 將輸入檔案 edi2adf.inp 複製到 EDItoRODFileReceiver/Documents/Production 資料夾。
- 導航到 Viewers => Document Viewer,檢查文件狀態。這個 EDI 文件應該被拆封並轉換為 ROD。
- 這個 ROD 文件然後被髮送到 Partner 的目的地。輸出事務如下所示:
圖 13. Document Viewer 中的事務
本文演示了在 WebSphere Partner Gateway V6.2 中進行拆封和轉換的兩個場景 —— EDI 到 XML 轉換和 EDI 到 ROD 轉換。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-672138/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 SFTP 配置 WebSphere Partner Gateway V6.2 傳送和接收檔案FTPWebGateway
- WebSphere Process Server 流量管理,第 1 部分WebServer
- 通過 Amazon API Gateway 和 Lambda 實現 CloudFront Distribution 克隆功能APIGatewayCloud
- WebSphere Integration Developer V6.2 中的新增功能WebDeveloper
- WebSphere Business Monitor V6.2 中的新增功能Web
- WebSphere Adapter和WebSphere Process Server為SAP構建RESTful整合,第1 部分WebAPTServerREST
- 整合 WebSphere Process Server 與 SCA 功能包,第 1 部分WebServer
- WebSphere Business Modeler V6.2 中的新增功能Web
- Azure上通過haproxy實現APP Gateway或WAF的http跳轉httpsAPPGatewayHTTP
- 通過佇列實現棧OR通過棧實現佇列佇列
- WebSphere IMS Connector V6.2 開發計費應用Web
- [Flutter翻譯]使用Flutter WEB實現桌面GUI(第2部分:Dock)FlutterWebGUI
- 第2章 功能實現
- offer通過--7兩個棧實現佇列-2佇列
- offer通過--8兩個棧實現佇列-2佇列
- 通過模板實現POI
- Spring Cloud Gateway + oauth2 跨域配置實現SpringCloudGatewayOAuth跨域
- WebSphere Integration Developer V7 中的 XML 對映,第 2 部分: 處理複雜的 XML 結構WebDeveloperXML
- 如何實現通過Samba訪問超過2G的檔案?Samba
- 通過java程式模擬實現地鐵票價2+2=12Java
- Spring Cloud Gateway 實現簡單自定義過濾器SpringCloudGateway過濾器
- LRU 實現 通過 LinkedHashMapHashMap
- 通過redis實現session共享RedisSession
- mysql performance schema 第2部分MySqlORM
- 「gRPC」 Gateway的實現RPCGateway
- C# 通過socket實現UDP 通訊C#UDP
- 如何通過J2Cache實現分散式session儲存分散式Session
- 網路通訊2:TCP通訊實現TCP
- WebSphere Application Server V7 高階安全性加強,第 1 部分WebAPPServer
- 初步瞭解 CoffeeScript,第 2 部分: 動手實踐學習
- 通過HTTP/2實現每天處理400GB圖片的實踐HTTP
- 【通過HTTP/2實現每天處理400GB圖片的實踐HTTP
- 通過 App Groups 實現程式間通訊APP
- 《Divinuet》的互動音樂系統 – 第 2 部分
- 架構設計師與 SOA , 第 2 部分架構
- Laravel 通過 Macros 實現列印原生 MySQLLaravelMacROSMySql
- 通過socket實現DUP程式設計程式設計
- 通過佇列實現批量處理佇列