步骤 9:测试解决方案
在本主题中,你将通过向部署 EDI 协议所在的 HTTP 终结点发送 X12 840 销售订单消息来测试混合应用程序。 销售订单消息示例如下所示:
ISA*00* *00* *ZZ*CONTOSO *ZZ*NORTHWIND *991221*1226*U*00401*000000025*0*T*:~
GS*PO*THEM*US*19991221*1226*1*X*004010~
ST*840*0002~
BQT*00*BQT02*20120619*001*20120719~
PER*1A*John*EM*John@contoso.com~
N1*001~
N2*co~
N3*Contoso*One Contoso Way~
N4*Redmond*WA*98052*US~
PO1*PO101*121*01*10*AA*A1*1~
CTT*475~
SE*10*0002~
GE*1*1~
IEA*1*000000025~
在此消息中,突出显示的段 (以 PO1 开头的行) 包含订单数量。 此消息中的订单数量为 121。 因此,如果发送此消息,则必须将其插入 SalesOrder 表中。 可将该数量更新为小于 100 并重新发送消息,然后必须将其发送到你在 FILE 发送端口中指定的文件位置。
若要将此消息发送到 EDI 协议,可以使用示例附带的 MessageSender 工具进行Microsoft Azure BizTalk 服务。 可以从 下载示例 https://go.microsoft.com/fwlink/p/?LinkId=235057。
发送消息的步骤
在示例包中找到 MessageSender 项目并生成它。
使用项目) 中 \bin\Debug 文件夹下生成的 MessageSender 命令行可执行文件 (将消息发送到已部署的 EDI 协议。 此工具接受以下格式的命令行参数:
MessageSender.exe <ServiceBusNamespace> <IssuerName> <IssuerKey> <EDI agreement endpoint> <MessageFilepath> <ContentType>
其中:
参数名称 说明 ServiceBusNamespace 服务总线命名空间 IssuerName 指定的命名空间的颁发者名称 IssuerKey 指定的命名空间的颁发者密钥 EDI 协议终结点 部署 EDI 协议所在的终结点。 可以从“接收设置”选项卡 (获取此终结点 URL,其中,“传输”页) 在 步骤 2 (For Azure) :创建 EDI 协议中部署的 EDI 协议。 MessageFilePath 包含示例请求消息的文件的路径。 ContentType 对于本教程,请将此参数设置为 text/plain。 打开命令提示符并导航到在其中生成了 MessageSender 项目的解决方案。 运行以下命令,以发送订单数量大于 100 的请求消息:
MessageSender.exe <service bus namespace> owner <issuer key>https://<namespace>.servicebus.appfabriclabs.com/7576ff3d-a0f3-4a46-a4f6-f5be4a50616a/DemoAgreement<path to the sample message> "text/plain"
打开SQL Server Management Studio,连接到包含 SalesOrder 表的数据库,并验证是否已在表中插入新记录。 请注意 Qty 列中的值;它必须为 121。
使用 MessageSender 发送另一条消息,但这次将消息中订购的数量的值设置为 99。 你会注意到,现在没有在 SalesOrder 表中插入任何记录。 而是将消息复制到指定的文件位置,以便接收订单数量小于 100 的消息。 收到的消息类似于以下内容:
<ns1:SalesOrder xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" xmlns:ns1="http://ECommerceSalesOrder.Inbound"> <CompanyCode>co</CompanyCode> <PartID>1</PartID> <Quantity>99</Quantity> <AskPrice>10</AskPrice> <RequestShipmentDate>2012-07-19</RequestShipmentDate> <Address> <Line1>Contoso</Line1> <Line2>One Contoso Way</Line2> <City>Redmond</City> <State>WA</State> <Country>US</Country> <Zipcode>98052</Zipcode> </Address> <Contact> <Firstname>John</Firstname> <Lastname>John@contoso.com</Lastname> </Contact> <Comments>Order from Partnerco</Comments> <DateNow>2012-06-19</DateNow> </ns1:SalesOrder>
请注意 Quantity 元素中的值。 是 99。