Using Azure BizTalk Service to receive EDI file from multiple partner and convert to XML
Introduction
This sample demonstrates how to use Azure BizTalk Service (formerly called Windows Azure BizTalk Services or WABS) to receive EDI file, transform EDI to XML.
The EDI Bridge receives the EDI 832 file, transforms and sends it to Azure Service Bus Queue.
Use Message Receiver to retrieve messages from the Queue.
Business Scenario
"Fabrikam, Northridge and Contoso are three business partners. Fabrikam and Northridge (the supplier) sends product catalog messages to Contoso (the retailer) in EDI format. Contoso maintains all the product catalog data in xml format within Contoso’s premises. Fabrikam and Northridge send EDI 832 messages to Contoso. Hence, Contoso has to implement a solution on Microsoft Azure, which enables the following:
- Contoso must expose end point from where it receive EDI 832 files from Fabrikam and Northridge.
- Contoso must process EDI 832, validates and transformed to XML format.
To enable this scenario, Contoso does the following:
- Create EDI and XML Schema, Mapping between EDI and XML.
- Create and configure trading partner setup for Fabrikam, Northridge and Contoso.
- Create Queue on Azure service bus to store XML." [MSDN]
Step By Step.
Create BizTalk Services Artifacts Project in Visual Studio 2012.
Delete Default Map and Schema (Schema1, Schema2 and Map).
Add EDI 832 Schema. (Download MicrosoftEDIxsdTemplate from msdn)
Create a XML Schema for price sales catalog.
Create the Map.
Go to the WABS Portal and upload the Schema and the Map.
Upload Map.
Create 3 partners on the Portal.
Click on Save.
Similarly you can create profile for Contoso and Fabrikam.
Create agreements between
Contoso and Fabrikam
Contoso and Northridge
Steps to create agreement between Contoso and Fabrikam.
Click on Agreements ->New.
Add partner name and Click on continue.
Select the transport type over which contoso want to receive EDI 832.
I am using transport type as HTTP for demo purpose.
Select Schema in the protocol section.
Select Map in the transport section.
Now in the route section set routing settings.
Click on add to add routing actions.
Set Service Bus Namespace, Issuer Name, Issuer Key and Queue Name.
Similarly do the send setting.
In a similar way we can create agreement for Contoso and Northridge.After created two agreements, you can check 4 bridges deployed on Portal.
Agreement/1/Receive – to receive EDI from Fabrikam
Agreement/2/Receive – to receive EDI from Northridge
Agreement/1/Send-to sends EDI from Contoso
Agreement/2/Send- to send EDI from Contoso
Test the solution.
To test the solution you can use the BizTalk Service explorer. This is a Server Explorer Plugin for Azure BizTalk Services.
Download: BizTalk Service Explorer
Connect to your BizTalk services.
Using BizTalk services explorer to send EDI message to EDI bridges.
After send EDI message to the bridge, you can check in tracking whether message is routed to success Queue or Error Queue.
If message is routed to success queue, then you can download XML from SuccessQueue.
Read Message From SuccessQueue Queue.
Set the ConnectionString and Run MessagingWithQueue Sample, Download
< add key="Microsoft.ServiceBus.ConnectionString" value="<ConnectionString Copy from portal>" />
Source Code
You can download the source code on the MSDN Code Gallery here:: Using Windows Azure Biztalk Service to receive EDI file from multiple partner
See Also
For documentation on BizTalk Services see Azure BizTalk Services documentation.
Another important place to find a huge amount of Azure BizTalk Services related articles is the TechNet Wiki itself. The best entry point is Azure BizTalk Services resources on the TechNet Wiki.
If you are also looking for BizTalk Server related articles, the best entry point is BizTalk Server Resources on the TechNet Wiki.