0
votes

I was asked to process a X12 document from an SFTP server which will have multiple GS/ST segments. So I decided to use Logic Apps with Enterprise Integration Pack. I've handled flat files before, but this solution will require me to use the X12. So I got to the point of adding the schemas to the Agreement, but it says there are "No schemas found". I assume by this message, it's not allowing me to use the flat file schema I uploaded. I can't find any documentation on this, other than how to upload, update and delete a schema file. What schema format should I be using for the agreement? Are they available anywhere?

4
Can you share the exact error or snapshot? Assuming that your X12 action is throwing error: Did you check the agreement json file? it should have the schemas mapped on both "Send & Receive" side something like this "schemaReferences": [ { "messageId": "850", "schemaVersion": "00401", "schemaName": "850" } ], - TusharJ
There is no error, it's in setting up the Agreement. In Agreements, when setting up which schemas to process/allow, it shows "No schemas found" in the schema selection drop down. I would expect it to show me the schema I uploaded. It may be lack of understanding of the X12 process. I created the schema using the flat-file wizard that came with the SDK, Azure Logic Apps Enterprise Integration Tools. - Thomas A. Johnson
I'm trying to process X12 documents for 940, 943,944 and 945. It seems insane to me, that I would need to create schemas for standard known formats. - Thomas A. Johnson
Yes current design needs to upload schemas for standard formats. You can always give feedback to improve our backlog feedback.azure.com/forums/287593-logic-apps - TusharJ
I'm OK with uploading schemas. Most of the time we would need to "customize" them per customer needs anyways. What I was asking is, are the standard X12 schemas available somewhere, or do we need to create them? Someone else said they get them from MS, but I was unable to find where. I used the Flat File Wizard, which is included in the Azure Logic Apps Enterprise Integration SDK, to create mine, but Agreements will not use it. So did I make a mistake in my schema, or is the format for an X12 schema different than what the Flat File Wizard creates? If the latter, what is the correct format? - Thomas A. Johnson

4 Answers

1
votes

The file "format" must match. I "believe" it validates header information and/or character set used. They should match the X12's that come with BizTalk. If you need to do a custom version, like modifying a field to allow a larger string size or change the order of segments, do the following:

  1. Make a copy of the original X12 schema.
  2. Rename it to be unique, like changing X12_00401_940.xsd to X12_00401_940_Custom.xsd.
  3. Customize the field(s)/segment(s) as needed.

The key is character set used in the file and the header information. Make sure to preserve those.

0
votes

You should upload first those schemas into your Integration Account. Before adding the schemas to the Agreement.

0
votes

The X12 Agreement would only recognize the schemas that come with BizTalk. The Logic App's Agreements would not recognize "homemade" schemas.

I eventually found where I can get the BizTalk schemas. Here is what you can do to get it:

How to Install EDI Schema Files

What I did was

  1. create a Windows 2016 VM
  2. install VS 2013
  3. install BizTalk 2013 R2 Evaluation
  4. copy the file from C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\XSD_Schema\EDI\MicrosoftEdiXSDTemplates to my local machine
  5. run the executable on my machine

FYI: This executable stopped being available with free versions of BizTalk starting with 2016. This is why I used 2013 R2.

There were some subtle differences between these schemas and the ones the Schema Editor created.

BizTalk schemas had:

<xs:schema xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

The SDK Schema Editor created:

<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema">

The BizTalk schemas had extra attributes. They had:

  1. targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006"
  2. xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension"

Also to note, the Editor would create the first element as Root, and I believe the X12's wanted a very specific name in the format: X12_{veriosn}_{TransactionSet}. Also the X12 were UTF-8, whereas the Editor created UTF-16.

0
votes

I am new to BizTalk and its VS2015 centric rquired view of the world. There is an Azure Template that has almost all the BizTalk items:

BizTalk Server 2016 Developer

  • SQL Serer
  • BizTalk Server
  • Visual Studio 2015
  • BizTalk SDK (minus EDI Schemas)

Schemas are located in the Microsoft Azure BizTalk Services SDK Setup in the MicrosoftEdiXSDTemplates.zip (including X12) file.

Note Microsoft open sourced the schemas but had to remove the X12 schema because they were not open source.