none
Process Inbound 997: X12_00502_997.xsd RRS feed

  • Question

  •  

    Hello,

     

    I am developing an orchestration in BizTalk R2. This orchestration will process inbound 997 messages.

     

    In my project I have added the existing file: X12_00502_997.xsd. Then I have created a Message Variable with the message type to that schema.

    After I have added a "Receive" Shape. This shape is targeting to the Message Variable. I have also added a "construct" message to cast the inbound message to an xml variable. And finally I send out that Xml to a Windows Folder.

     

    I am using the EdiReceive Pipeline; and I have created the corresponding parties; however when I put the following Edi in the Inbound Folder; my orchestration is never activated.

     

    ISA*04*FA426     *00*          *02*RRDC           *02*KCS            *081024*0901*U*00502*001797871*0*P*;…
    GS*FA*ISSP*KCS*20081024*0901*241273*X*005030RAIL…
    ST*997*412730001…
    AK1*RW*73295…
    AK2*426*64974…
    AK5*A…
    AK9*A*1*1*1…
    SE*6*412730001…
    GE*1*241273…
    IEA*1*001797871 

     

    I realized that the xml built by BizTalk has this structure:

     

    <?xml version="1.0" encoding="utf-8" ?>

    <ns0:X12_997_Root xmlns:ns0="http://schemas.microsoft.com/Edi/X12">

      <ns0Tongue TiedT>

    <ST01>997</ST01>

    <ST02>412730001</ST02>

    </ns0Tongue TiedT>

    <AK1>

     <AK101>RW</AK101>

     <AK102>73295</AK102>

    </AK1>

    ...

     

    I have created another EDI projects and those projects are building the xml files with these headers:

     

    <ns0:X12_00502_998 xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/X12/2006">

    <ns0:X12_00502_864 xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/X12/2006">

    <ns0:X12_00502_426 xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/X12/2006">

     

    So; I really do not know why the orchestration is never activated. But I set in Filter Expresion in "Receive" Shape the following filter:  BTS.MessageType = "http://schemas.microsoft.com/Edi/X12#X12_997_Root"

    But the orchestration is still never activated.

     

    The parties have unselected option: "Generate 997".

     

    Any advice why it is happening this?

    Thanks in advance,

    Pablo

    Friday, October 31, 2008 8:57 PM

Answers

  • Hi Pablo,

     

    Please note that the EDI receive pipeline whenever it encounters an inbound 997 will use the pre-loaded service schema for 997. Hence you should not load the 5020 xsd for 997 again for EDI receive pipeline.

    IN your case, the filters of the orch are not proper. If you use an property that is not promoted, your orch wont be picking up the msg. Verify the msgs that are promoted by looking at the context properties of the the suspended message(you can use a simple send port with a filter to subsribe such msgs too).

     

    Hope this helps

     

    Monday, November 3, 2008 5:48 AM
    Moderator

All replies

  • Hi,

     Can you subscribe the orchestration with "EDI.ST01"=="997" BizTalk property? It will catch all inbound and outbound 997.

     " Generate 997" property is for generating 997 in response of incoming EDI documents. In your case value of this property doesn't matter.

     

    Thanks,

    Bhola

     

    Saturday, November 1, 2008 5:25 AM
  •  

    Thank you,

     

    Unfortunatelly I am getting this error when I drop an EDI.txt in my inbound folder:

     

    Tipo de evento: Error
    Origen del evento: BizTalk Server 2006
    Categoría del evento: (1)
    Id. evento: 5753
    Fecha:  01/11/2008
    Hora:  01:13:33 p.m.
    Usuario:  No disponible
    Equipo: KCBIZTALKD
    Descripción:
    A message received by adapter "FILE" on receive location "BizTalkEDI_997Receive_FILE" with URI "C:\Users\Admin\Documents\Personal\Programming\Biztalk 2006\EDI\BizTalk.EDI_997\Inbound\*.txt" is suspended.
     Error details: The output message of the receive pipeline "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive, Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" failed routing because there is no subscribing orchestration or send port.
     

    I realized there are two suspended items in "Group Overview" Page. One is resumable with this error description:

     

    "The output message of the receive pipeline "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive, Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" failed routing because there is no subscribing orchestration or send port.
     The sequence number of the suspended message is 1. "

     

    And the second one with this error description:

     

    "This service instance exists to help debug routing failures for instance "{95CBF95A-D4D8-4F68-B706-710C2A96731A}". The context of the message associated with this instance contains all the promoted properties at the time of the routing failure."

     

    By the way: I created another orchestration to process the 997-xml files built by BizTalk; but when I put that xml in another folder I have the same error:

     

    A message received by adapter "FILE" on receive location "BizTalk_EDI997ReceiveXml_FILE" with URI "C:\Users\Admin\Documents\Personal\Programming\Biztalk 2006\EDI\BizTalk.EDI_997\InboundXML\*.xml" is suspended.

    Error details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

     

    I am thinking that likely it could be the X12_00502_997.xsd is wrong; but it does not make sense because this file was created by EDI Product Team.

     

    Do you have an advice?

    Thanks again;

    Pablo

    Saturday, November 1, 2008 7:42 PM
  • Hi Pablo,

     

    Please note that the EDI receive pipeline whenever it encounters an inbound 997 will use the pre-loaded service schema for 997. Hence you should not load the 5020 xsd for 997 again for EDI receive pipeline.

    IN your case, the filters of the orch are not proper. If you use an property that is not promoted, your orch wont be picking up the msg. Verify the msgs that are promoted by looking at the context properties of the the suspended message(you can use a simple send port with a filter to subsribe such msgs too).

     

    Hope this helps

     

    Monday, November 3, 2008 5:48 AM
    Moderator
  •  

    Thank you for your help!
     
    You are right!!
     
    I have been making several tests and finally I discovered when an EDI-997 interchange is received using EdiReceive Pipeline, BizTalk detects that its a functional acknowledge and it disassembles the message into XML, and drops the message XML into the MessageBox. However that Xml is dropped with the MessageType as
         "http://schemas.microsoft.com/Edi/X12#X12_997_Root". I have developed others EDI projects using: X12_00502_426, X12_00502_998, X12_00502_864 and all the Xml files created by BizTalk have different MessageType.
     
    So, my orchestration had a wrong subscription to all the messages that match to this message type =
     
    That is the reason why my orchestration is never activated.
     
    I have already modified my orchestration to subscribe it to functional acknowledge message type and now is activated.
     
    However I need to read the values: GS02, GS03 from Inbound Message 997. Unfortunatelly when I try to read a GS value in a shape expression like this:

     

          System.Diagnostics.Trace.WriteLine(InboundMsg(EDI.GS02));

     
     I am getting this exception:
     
    Inner exception: There is no value associated with the property 'EDI.GS02' in the message.
     
    I presume because when the orchestration is activated, the message is in xml format and those data elements are not included in the message; right?.
     
    Do you know how can I read those data elements?
     
    Thank you
    Pablo
    Monday, November 3, 2008 5:51 PM
  • I am not too sure, whether these values are promoted to the context. You can always use the XPath query or reading the message by streaming to fetch these values from the message body.


    Regards
    Ankur
    Tuesday, March 2, 2010 10:45 AM
  • Hi Pablo.

    I'm facing the same issue processing the EDI 997 inbound files. Can you please let me know how you changed the orchestration to subscribe to the EDI 997 with message type 'http://schemas.microsoft.com/Edi/X12#X12_997_Root'. 

    Tuesday, September 9, 2014 2:53 PM