none
Very Basic EDI receive pipeline throwing error: "6: Missing or invalid or duplicate Transaction set identifier " RRS feed

  • Question

  •  

    EDI Gurus,

     

    I'm attempting to do an EDI orchestration without having to use parties...I'm very new to EDI and I don't quite understand why I would need them unless to verify senders' information (which I don't care about, I'm using secured ftp site, that's verification enough, isn't it?). This may not be possible but I'm going to ask about this error anyway.

     

    Here are the steps that I followed:

     

    1. Create blank BT project, add new orchestration that has receive port, and send port.

    2. Create new pipeline using EDI Disassembler

    3. Add new BT project to solution, import all schemas from C:\Program Files\Microsoft BizTalk Server 2006\XSD_Schema\EDI to the project.

    4. Set reference from primary project to schema project

    5. Configure message types in orchestration to be x12_04010A_837I schema

    4. configure strong name...target application, blah blah blah

    5. Deploy schemas project

    6. Deploy primary project

    7. configure receive port to use custom pipeline (with edi disassembler in it)

     

    Start the application, drop a valid EDI 837I document into pick up location and I get the following error no matter what

     

    Error encountered during parsing. The X12 transaction set with id '' contained in functional group with id '262514', in interchange with id '000262514', with sender id '999999 ', receiver id '133052274 ' is being suspended with following errors:

    Error: 1 (Miscellaneous error)

    6: Missing or invalid or duplicate Transaction set identifier 'http://schemas.microsoft.com/BizTalk/EDI/X12/2006#X12_00401_837'

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

     

     

    I've tried to resolve this in every way I know how for almost 2 days and I'm flat out of ideas. I just cannot get past this error. I've tried:

     

    -Creating parties that have valid data

    -Editing global EDI properties

    -Changing schema namespaces

     

    Here is what my header info looks like:

     

    ISA*00*          *00*          *ZZ*999999         *ZZ*133052274      *070830*1122*U*00401*000262514*0*P*>~
    GS*HC*251875178*999999*20070830*1122*262514*X*004010~
    ST*837*000000001~

     

    Please help if you can!

     

    ~brenton

    Friday, April 18, 2008 4:28 AM

Answers

  •  

    Answer:

     

    For the EDIReceive Pipeline to work...it understands all about the document, and how to disassemble it. However, for it to work correctly, you must deploy the CORRECT schema from the following directory:

     

    C:\Program Files\Microsoft BizTalk Server 2006\XSD_Schema

     

    to the BizTalk EDI Applicaton itself. I had deployed the schema numerous times...but it was to my own application and not the EDI application. Merely setting a reference to the EDI application simply did not do the trick 'cause the schemas were deployed to MY application, therefore the EDIReceive pipeline knew nothing about them.

     

    I must say...-1.432 million cool points to microsoft for making such a simple thing so complicated. These schemas should already be in the GAC when installed. Why have an EDI application at all without the necessary schemas that represent the EDI standards?

     

    Maybe you guys know the answer to that...but for me, I have found the only answer I care about ATM.

     

    2.5 days of troubleshooting FTW on this one.

     

    ~brenton

    Sunday, April 20, 2008 6:18 AM

All replies

  • Hi

    From the steps u followed i could get that u deployed the schema project , but u get this error when the appropriate schema is not deployed. if the schema is not deployed , biztalk will not be able to  process that document and hence you see this error.

     

    Hope this helps

    Ranadheer

     

    Friday, April 18, 2008 5:42 AM
  •  

    The schema is deployed to the project; it is listed under the /Schemas node.

     

    Root name of X12_00401_837_I and a target namespace of http://schemas.microsoft.com/BizTalk/EDI/X12/2006

     

    There is also a property schema, a headers schema, and an X12 Service Extension schema.

     

    What else do I need to do??

     

     

     

     

    Friday, April 18, 2008 11:45 AM
  • Have you tried changing GS08 of your incoming EDI instance to 004010X096A1 instead of 004010?

    004010 is wrong in a HIPAA sense... but I would expect you could configure BizTalk to accept it...
    Friday, April 18, 2008 7:31 PM
  •  ChrisMillerCCI wrote:
    Have you tried changing GS08 of your incoming EDI instance to 004010X096A1 instead of 004010?

    004010 is wrong in a HIPAA sense... but I would expect you could configure BizTalk to accept it...

     

    I have...same error. I've tried to use the EDI applcation outright without any custom schema whatsoever as well...I simply created a receive port and a send port....and started it. Anytime a document goes through it throws this error. If I modify the data to make it invalid...I get valid errors about the data...i.e. "element too short", etc.

     

    This tells me that its has a schema to validate against, right?

     

    So why on earth would it fail with an unknown transaction set???

     

    Still looking for an answer here guys...

    Friday, April 18, 2008 8:23 PM
  • Do you have more than one 837 schema deployed (any application)?

    There are other schemas in the EDI Application... ISA, GS, etc. So you could get errors on those, without having the 837 schema in play.

    Have you tried to just create a receive port and use the default EDI receive pipeline? (in either the BizTalk EDI Application or one that has reference to it)?
    Friday, April 18, 2008 8:53 PM
  •  ChrisMillerCCI wrote:
    Do you have more than one 837 schema deployed (any application)?

    There are other schemas in the EDI Application... ISA, GS, etc. So you could get errors on those, without having the 837 schema in play.

    Have you tried to just create a receive port and use the default EDI receive pipeline? (in either the BizTalk EDI Application or one that has reference to it)?

     

    AFAIK, the schema I referenced and deployed is the only 837 schema that exists.

     

    If I don't reference the schema...in my orchestration, how would I be able to set the message types?

     

    Maybe I'm missing something pretty huge...but it appears as if the Biztalk EDI application attempts to validate your document before it ever transforms it into xml....that's the only way you could create receive and sent ports without having to specify schemas for it.

     

    So all this rambling points to this; if I do in fact have a duplicate schema and that is what is causing the problem, how do I reference the already-installed biztalk EDI schemas that exist on the server so I don't duplicate them??

     

    I appreciate the help Chris...

     

    ~Brenton

    Saturday, April 19, 2008 5:04 PM
  • You can see what schemas are deployed from the BizTalk Server 2006 Admin console. Group->Applications-><all artifacts>->Schemas. Make sure you only have one 837 schema.

    AFAIK - The schema you have referenced in your orchestration isn't relevant for the EDI engine. The pipeline uses its 'rules' to associate an incoming EDI instance with a schema. The rules are defined within the party EDI properties. All this is done in the engine (not orchestration) across all applications.

    I know this gets into a religious discussion, but for simplicity sake, I would avoid orchestration entirely (for starters). What I would do:

    Make sure only one 837I schema is deployed.

    In BizTalk Administration
    1.) Create a new application and reference the default EDI application
    2.) Add a receive port (ie, file)
    3.) Put the default EDIReceive pipeline on that port
    4.) Create a send port (ie, file)
    5.) put a filter that specifies the BTS Receive port name you created above.

    Drop a file.

    I also generally specify all the party properties - but I think for simplicity sake, the catch-all parties will work as long as your GS08 of your EDI instance is properly 004010X096A1 (for the 837I) and not 004010.
    Saturday, April 19, 2008 5:47 PM
  •  ChrisMillerCCI wrote:
    You can see what schemas are deployed from the BizTalk Server 2006 Admin console. Group->Applications-><all artifacts>->Schemas. Make sure you only have one 837 schema.

    AFAIK - The schema you have referenced in your orchestration isn't relevant for the EDI engine. The pipeline uses its 'rules' to associate an incoming EDI instance with a schema. The rules are defined within the party EDI properties. All this is done in the engine (not orchestration) across all applications.

    I know this gets into a religious discussion, but for simplicity sake, I would avoid orchestration entirely (for starters). What I would do:

    Make sure only one 837I schema is deployed.

    In BizTalk Administration
    1.) Create a new application and reference the default EDI application
    2.) Add a receive port (ie, file)
    3.) Put the default EDIReceive pipeline on that port
    4.) Create a send port (ie, file)
    5.) put a filter that specifies the BTS Receive port name you created above.

    Drop a file.

    I also generally specify all the party properties - but I think for simplicity sake, the catch-all parties will work as long as your GS08 of your EDI instance is properly 004010X096A1 (for the 837I) and not 004010.

     

    Alright...I see what you are saying. So...in the event I do need to do an orchestration and call some code , maybe perform a little logic or update other systems...;-) , how would I reference the EDI schemas without importing them from the install location and setting message types so I avoid creating duplicate schemas? The basic gist is that I need to suck all of the data into a SQL table so that a very, very complicated SSIS package can parse out and run the data through an rules engine processing. If you have any ideas here let me know..

     

    I really appreciate your help. I'm going to back out my application and schema stuff and get back to you. I'll let you know if I can get Biztalk EDI to do it's thing without my orchestration. I'll have to configure a port with a send pipeline it looks like to do the work that I'm trying to do.

     

    I'll be posting back here soon.

    Saturday, April 19, 2008 8:53 PM
  •  

    Still no dice. I completely removed all schemas I have deployed and removed all applications, removed everything from the GAC manually as well and rebooted.

     

    This seems to be a very specific problem with HIPAA schemas and the EDI Disassembler...

     

    I'm about to scrap Biztalk as a possibility in my solution. Nearly a week trying to get a simple, accurate file from point A to point B.

     

    ~brenton

    Sunday, April 20, 2008 5:41 AM
  •  

    Answer:

     

    For the EDIReceive Pipeline to work...it understands all about the document, and how to disassemble it. However, for it to work correctly, you must deploy the CORRECT schema from the following directory:

     

    C:\Program Files\Microsoft BizTalk Server 2006\XSD_Schema

     

    to the BizTalk EDI Applicaton itself. I had deployed the schema numerous times...but it was to my own application and not the EDI application. Merely setting a reference to the EDI application simply did not do the trick 'cause the schemas were deployed to MY application, therefore the EDIReceive pipeline knew nothing about them.

     

    I must say...-1.432 million cool points to microsoft for making such a simple thing so complicated. These schemas should already be in the GAC when installed. Why have an EDI application at all without the necessary schemas that represent the EDI standards?

     

    Maybe you guys know the answer to that...but for me, I have found the only answer I care about ATM.

     

    2.5 days of troubleshooting FTW on this one.

     

    ~brenton

    Sunday, April 20, 2008 6:18 AM
  • That should certainly work - but as long as your new application references the default EDI application you will be fine.

    You should use the correct schemas, and adding to that - you should use the ones from QFE KB939080.

    http://www.microsoft.com/downloads/details.aspx?FamilyId=ED9C18F8-9842-4CBB-BD34-1FCD7D196900&displaylang=en

    Sunday, April 20, 2008 10:27 PM
  • Chris,

     

    Thanks a lot bro! I appreciate the link.

     

    Monday, April 21, 2008 3:30 AM