1 课程简介
通过本课程熟悉EDI、AS2解决文案的开发与配置,本动手实验步骤及内容采用微软官方SDK完成,学员在实验过程中结合官方教程来完成本实验
本实验基于BizTalk 2013(Windows Server 2012 64bit + SQL Server 2012 + BizTalk 2013 + Visual Studio 2012), 同样适用于BizTalk 2010环境。AS2 Demo文件夹为:C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\AS2 Tutorial
2 准备工作
3 演示
3.1 部署Schema
3.1.1 打开AS Demo\Schema文件夹下的解决方案,配置BizTalk应用程序名称AS2Demo。并确认签名正确。
3.1.2 部署解决方案,在BizTalk控制台中可以看到刚部署的应用名称
3.2 配置合作伙伴
3.2.1 右键选择新建合作伙伴
3.2.2 在名称中输入Contoso
3.2.3 同3.2.1-3.2.2步骤创建合作伙伴:Fabrikam
3.3 配置IIS环境
3.3.1 打开IIS功能视图,点击选择Handler Mappings
3.3.2 在窗口右侧点击添加脚本映射,在添加脚本映射窗口中如下图所示输入
请求路径:BtsHttpReceive.dll
执行程序选择: C:\Program Files (x86)\Microsoft BizTalk Server 2013\HttpReceive\BTSHTTPReceive.dll (注意应该选择32位接收器)
名称:BizTalkHTTPReceive
3.3.3 点击“Request Restriction”,点击Verbs选项页,如下图所示选择One of the following verbs, 并输入POST
3.3.4 点击确定,保存。选择新建的BizTalk Http Receive处理映射在右侧窗口中选择Edit Feature Permissions,在弹出的权限选项中选择执行。
3.3.5 返回Feature View,点击ISAPI and CGI Restrictions
3.3.6 可以在列表中看到新创建的约束。点击该行记录为其添加备注信息。
3.3.7 点击OK保存
3.4 配置应用程序池及Web应用
3.4.1 在IIS应用程序池中点击添加应用程序池,点击OK保存。
名称:BizTalkAppPool , .NET Framework版本:4.0
3.4.2 选择该应用程序池并点击高级选项,设置启用32位应用程序为True, 设置应用程序标识为administrator
3.4.3 右键默认站点,选择创建一个新的应用
3.4.4 在弹出的应用程序配置窗口中如下图所示进行配置,点击OK保存配置
别名:Fabrikam
应用程序池:BizTalkAppPool
物理路径:AS2 Demo文件夹\Fabrikam
3.4.5 同3.4.3新建Contoso应用。应用配置如下图所示,点击OK保存
应用名称:Contoso
应用程序池:BizTalkAppPool
物理路径:C:\Program Files (x86)\Microsoft BizTalk Sever 2013\HttpReceiver
3.5 配置BizTalk应用程序
3.5.1 右键选择AS2Demo,在应用属性配置的引用中添加其对BizTalk EDI Application的引用
3.5.2 创建名称为Receive_AS2的单向接收端口
3.5.3 在Receive_AS2端口中创建Receive_AS2_HTTP 接收位置,适配器选择HTTP,点击配置。进入HTTP适配器配置,配置信息如下图所示
3.5.4 接收位置管道选择AS2EdiReceive,点击OK保存
3.5.5 新建动态单向发送端口(发送MDN消息)
3.5.6 在名称中输入Send_Async_MDN
3.5.7 在筛选器中配置表达式如下:
EdiIntAS.IsAS2AsynchronousMdn == True
3.5.8 新建单向发送端口(发送997消息)
名称:Send_Async_997
适配器:HTTP
3.5.9 在HTTP适配器属性配置中如下图所示配置
目标URL: http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam
3.5.10 点击确定保存,发送管道选择AS2EdiSend
3.5.11 在发送端口的筛选器中配置条件如下所示并点击确定保存
BTS.MessageType==http://schemas.microsoft.com/Edi/X12#X12_997_Root
新建单向发送端口,发送EDI XML消息,适配器为FILE适配器,接收管道为PassThruTransmit。
目标文件夹:C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\AS2 Tutorial\_EDIXMLToContoso\
文件名称为:%MessageID%.xml
3.5.12 在发送端口筛选器中配置如下订阅条件,点击OK保存
BTS.MessageType == http://schemas.microsoft.com/BizTalk/Edi/X12/2006#X12_00401_864
3.5.13 启动AS2Demo应用程序
3.6 配置AS2协议
3.6.1 在合作伙伴列表中右键选择Fabrikam_Profile, 新建协议
3.6.2 按如下图所示配置常规属性
3.6.3 点击顶部Fabrikam->Contoso选项页,在AS2-From中输入:Fabrikam,AS-TO中输入Contoso
3.6.4 在验证窗口中选中”Use agreement settings for validation and MDN instead of message header”
3.6.5 在Acknowledgements(MDNs)中按中,选中Reqeust MDN、Request asynchronous MDN,在Receipt-Delivery Option(URL)中输入:http://localhost/Fabrikam /Default.aspx?Destination=_MDNToFabrikam
3.6.6 点击Consoso->Fabrikam选项页,在AS2-From中输入: Contoso,AS-TO中输入Fabrikam
3.6.7 在Send Ports中选择Send_Async_997
3.6.8 点击OK,保存,完成AS2协议的配置
3.7 配置X12协议
3.7.1 在合作伙伴列表中右键选择Fabrikam_Profile, 新建协议
3.7.2 在常规属性中按如下图所示进行配置
Name:X12Agreement
Protocol:X12
Party: Contoso
Business: Contoso_Profile
选中 Turn On reporting
选中 Store message payload for reporting
3.7.3 点击Fabrikam->Contoso选项页,在标识窗口按如下图所示进行配置
Send Id Qualifier(ISA5):ZZ Value(ISA6): 7654321
Receiver Id Qualifier(ISA7): ZZ Value(ISA8): 1234567
3.7.4 在Acknowledgements窗口中选中997/999 expected
3.7.5 Local Host Settings窗口中清除Route ACK to send pipeline on request-response receive port
3.7.6 点击Contoso-> Fabrikam选项页,在标识窗口按如下图所示进行配置
Send Id Qualifier(ISA5):ZZ Value(ISA6): 1234567
Receiver Id Qualifier(ISA7): ZZ Value(ISA8): 7654321
3.7.7 在Character and separators窗口中选择Suffix为CR LF
3.7.8 在事务设置下面的信封中按如下所示进行配置
使用的项 |
操作 |
事务类型 |
选择您的测试消息的消息类型,例如“864 – 文本消息”。 |
版本/发行版 |
输入 00401。 |
目标命名空间 |
选择“http://schemas.microsoft.com/BizTalk/EDI/X12/2006”。 |
GS1 |
验证已选择测试消息的消息类型,例如“TX - 文本消息(864)”。 |
GS2 |
输入“01”。 |
GS3 |
输入“7654321”。 |
GS5 |
选择所需的时间格式。选择“HHMMSSdd”。 |
GS7 |
选择“T - 运输数据协调委员会(TDCC)”。 |
GS8 |
验证已将 EDI 版本输入为 00401。 |
3.7.9 点击OK保存,重启BizTalk 主机实例
3.8 测试
3.8.1 打开AS2 Demo演示文件夹下的Sender解决方案,使用X12_00401_864-Sync.edi文件进行测试。
启动该程序,可以在_997ToFabrikam、_EDIXMLToContoso、_MDNToFabrikam文件夹中看到接收到的消息。