BizTalk与WebMethods之间的EDI交换

  最近在做一些EDI的项目。手头上有一个BizTalk 2006 R2和WebMethods7.1的环境。于是想试一下从BizTalk往WebMethods传送EDI。

  试验场景:BizTalk从本地文件夹抓取一个EDI X12 810文件,然后把这个文件传送给WebMethods。WebMethods接到文件后传回一个ACK给BizTalk。

  实验步骤:

1) 在BizTalk中建立Partner信息。

  首先需要在BizTalk里面建立起一个Partner。由于只是简单的测试,所以接收方和放松方都是设置在一个Partner里面。

  BizTalk与WebMethods之间的EDI交换_第1张图片

EDIHOME AS Sender

BizTalk与WebMethods之间的EDI交换_第2张图片

EDIHOME AS Receiver ISA

BizTalk与WebMethods之间的EDI交换_第3张图片

EDIHOME AS Receiver GS/ST

2) 在BizTalk中建立接收和发送端口。

  首先要有一个接收EDI文件的Port和Location。

BizTalk与WebMethods之间的EDI交换_第4张图片

EDI Receive Location

  然后要有一个SendPort。

  由于WebMethods接收EDI时的http content type 是application/x12,类型,所以,需要新建一个Http Send Handle。

  BizTalk与WebMethods之间的EDI交换_第5张图片

Http Send Handle

  然后建立Http Send Port,并使用这个Sender Handle。

BizTalk与WebMethods之间的EDI交换_第6张图片

Http Send Port

  同时为了接收WebMethods返回的ACK,还需要建立一个Http Receive Port。这个Receive Port是使用BizTalk的HTSHTTPReceive.dll建立的一个虚拟路径。

BizTalk与WebMethods之间的EDI交换_第7张图片

Http Receive PORT

3) 在BizTalk中绑定Partner和发送端口。

  接下来是绑定EDI SenderPort和EDI Partner。

BizTalk与WebMethods之间的EDI交换_第8张图片

  至此,BizTalk Server的配置就完成了。

4)在WebMethods中的TN里配置Partner信息。

  首先需要一个Enterprice。

BizTalk与WebMethods之间的EDI交换_第9张图片

WM7 enterprice

  然后需要一个Partner。

  BizTalk与WebMethods之间的EDI交换_第10张图片

Partner BizTalk

5)在WebMethods中的TN里配置TPA。


BizTalk与WebMethods之间的EDI交换_第11张图片

TN TPA

6)好了,测试。

在BizTalk的接收位置放一个如下的txt文件,触发接收位置的操作。

ISA*00*          *00*          *01*EDISENDER1        *ZZ*EDIRECEIVER1      *070607*1555*U*00401*000000025*0*T*>~
GS*IN*EDISENDER1*EDIRECEIVER1*20070607*1555*25*X*004010~
ST*810*0025~
***EDI Data**
SE*56*0025~
GE*1*25~
IEA*1*000000025~

 

在WebMethods的TN里面可以看到如下信息:

Transaction Set

具体的接收的信息如下:

ISA*00*          *00*          *01*EDISENDER2     *01*EDIRECEIVER2   *101214*0231*U*00401*000000015*0*T*>~

GS*IN*EDISENDER2*EDIRECEIVER2*101214*023124*15*X*00401~ST*810*0014~

***EDI Data**

SE*56*0014~

GE*1*15~

IEA*1*000000015~

同时在BizTalk里面的文件夹里面有一个ACK文件:

BizTalk与WebMethods之间的EDI交换_第12张图片

至此测试成功。

  虽然本实验没有对EDI做具体的处理,但是已经模拟了EDI处理的流程。后续可以在WebMethods里面或者在BizTalk添加各自的处理,就可以实现自己的业务逻辑了。

  本次实验一开始是一直发送不成功,在WebMethods里面配置了N次也不行,而且一直报错说不识别文件内容,最后是修改了BizTalk的Http Send Handle的content-type之后才能识别出来。

  BizTalk的Http的content-type默认是text/xml的,需要修改成application/x12.

你可能感兴趣的:(method)