1 课程简介

本课程通过AS2协议完成XML文件的传输过程,传输之后同步接收MDN确认信息。通过本课程熟悉AS2传输解决方案的基本开发与配置方法。

2 准备工作

为了模拟实际的B2B交互过程,本实验需要2台BizTalk Server 2010虚拟机(两两学员配合完成)。Contoso使用BizTalk为消息发送方,Fabrikam使用BizTalk为消息接收方。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3 演示

3.1 配置Fabrikam IIS

3.1.1 点击IIS管理器,在Features Views中选择Handler Mappings,在右侧窗口的Actions中选择添加脚本映射,按如下图所示进行配置。点击OK保存。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.1.2 返回Features View,点击ISAPI and CGI Restrictions ,确认新创建的映射在ISAPI和CGI约束中。注:Description默认为[No Description]需要手动给加上。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.1.3 打开IIS的Application Pools,新增一个名称为BTSAppPool的应用程序池。配置如下图所示:

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.1.4 在应用程序池列表中选中该应用程序池,在右侧Actions窗口中选择高级设置,在弹出的窗口中选择设置“Enable 32-Bit Applications”为True, Identity 为Administrator。点击OK保存。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.2 配置Fabrikam接收端口用于接收AS2消息

3.2.1 在配置请先创建BizTalk应用程序,并加对BizTalk EDI Application的引用

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.2.2 在IIS默认站点中右键选择新建应用程序。在弹出的窗口中如下图所示进行配置

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.2.3 在BizTalk控制台中新建接口端口ReceiveAS2Msg及接收位置。接收适配器选择HTTP,在HTTP适配器属性配置窗口中如下图所示进行配置。

虚拟目录和ISAPI扩展:/Fabrikam/BTSHTTPReceive.dll

清除:Return correlation handle on success

选中:Suspend failed requests

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.2.4 点击oK,保存,接收和发送管道分别为:AS2Receive和AS2Send

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.3 配置Fabrikam消息发送端口

3.3.1 在BizTalk应用程序中新建静态单向发送端口,SendXMLPayload,配置如下图所示:

适配器选择FILE,发送管道使用PassThruTramsmit。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.3.2 点击左侧筛选菜单,配置筛选条件如下所示:

BTS.ReceivePortName == ReceiveAS2Msg

And

EdiIntAS.IsAS2PayloadMessage == True

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.4 配置Fabrikam合作伙伴

3.4.1 点击BizTalk控制台->Parties ,新建Contoso和Fabrikam合作伙伴

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.4.2 按住Ctrl选择Contoso_Profile及Fabrikam_Profile创建Agreement,在协议类型中选择AS2

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.4.3 在Contoso->Fabrikam , Fabrikam -> Contoso 两个Tab的页中分别设置AS2-From及AS2-To的值。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.4.4 点击OK保存。
3.4.5 启动BizTalk应用程序及实例(如果实例已经启动,请重启)

********* 【至此完成对接收方Fabrikam的配置】***********

3.5 配置Contoso接口端口,接收XML文件

3.5.1 配置之前请先新建BizTalk应用程序,并添加对BizTalk EDI Application的引用

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.5.2 在BizTalk 应用程序中新建接收端口:ReceiveXMLFile及接收位置,接收位置配置发下所示:

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.6 配置Contoso发送端口,发送消息到Fabrikam

3.6.1 新建静态单向发送端口:SendToFab_RecevMDN,配置下图所示。

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.6.2 配置该发送端口订阅来自ReceiveXMLFile端口的消息

订阅条件:BTS.ReceivePortName == ReceiveXMLFile

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.7 配置Contoso合作伙伴及AS2协议

3.7.1 参照3.4.1-3.4.3配置合作伙伴与AS2协议
3.7.2 在Contoso->Fabrikam选项页中的Acknowledgements(MDNs)窗口中参照如所所示进行配置

选中:“Process inbound MDN into MessageBox for routing/delivery options”

选中:Request MDN

Disposition-Notification-To中输入Contoso

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.7.3 在Send Ports窗口中选择SendToFab_RecevMDN

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.7.4 点击OK保存。
3.7.5 启动BizTalk应用程序及实例(如果实例已经启动,请重启)

********* 【至此完成对发送方Contoso的配置】***********

3.8 测试

3.8.1 将XML文件放到Contoso接收文件夹内
3.8.2 在Fabrikam的输入文件夹能相看到相应的文件,在Contoso的MDN文件夹能看到返回的MDN消息,以下为MDN的消息示例

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

3.8.3 AS2报头参考

BizTalk动手实验(十四)AS2传输非EDI消息-LMLPHP

04-30 05:28