none
Outbound EDI Routing/Batching RRS feed

  • Question

  • Hi,

    I'm trying to batch an outbound EDI file using BTS 2006.  I'm getting an error in the EDI receive pipeline saying that the message failed routing because there is no subscribing orchestration or send port.  My EDI send port is filtering on EDI.DestinationPartyName=<receiving party name> and EDI.ToBeBatched=False.  I have reason to believe that the EDI.DestinationPartyName is correct since the ISA/GS envelopes are what I'm expecting.  The batch creation settings appear to be correct.  The only thing I'm noticing is that I'm getting a message at the bottom of the batch creation settings screen that the "Batching orchestration not instantiated yet".  Also, there is no value in the Orchestration instance ID field.  Is that a problem or should I be looking elsewhere?

    Friday, January 14, 2011 5:23 PM

Answers

  • check if there is a batching orchestration instance started and dehydrated in the admin console - group hub - query - all running service instances.

     

    secondly go the EDI properties for the party and make sure the schedule is set to what is expected and that the Batch is started.

     

    -amit


    amit kumar
    • Marked as answer by FrankD302 Monday, February 7, 2011 11:20 PM
    Friday, January 14, 2011 8:32 PM

All replies

  • check if there is a batching orchestration instance started and dehydrated in the admin console - group hub - query - all running service instances.

     

    secondly go the EDI properties for the party and make sure the schedule is set to what is expected and that the Batch is started.

     

    -amit


    amit kumar
    • Marked as answer by FrankD302 Monday, February 7, 2011 11:20 PM
    Friday, January 14, 2011 8:32 PM
  • Go to the suspendend instance and view the file. Take a look at the properties and you should be able to match them to what you have. Something is not set up right on the filter. Looking at the suspended will tell you how to correct this.
    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Friday, January 14, 2011 8:37 PM
  • Amit--there is no batching orchestration instance started.  Under the EDI Properties for the party I have the batch filter set to my EDI receive port.  The release criteria is 1 transaction set per interchange (my input file has 3 interchanges, each with 1 transaction set--is this OK?).  The activation range start date is 2 days ago.  The end date is next year.  There is no value for Orchestration Instance ID.  At the bottom it says 'Batching is activated.  Batching orchestration not instantiated yet.'  I'm still getting the error in the EDI receive pipeline saying that the message failed routing because there is no subscribing orchestration or send port. 

    Friday, January 14, 2011 9:01 PM
  • Carlos--My batch filter is set to BTS.ReceivePortName==ReceivePort_944EDI.  I'm getting a routing failure on that port for no subscribing orchestration or send port.  I'm also getting a routing failure on the BatchControlMessageRecvPort.  The message is:

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

    <ControlMessage xmlns="http://SQLControlMessage.IssueSelect">

    <PAM_Control>

    <DestinationParty>14</DestinationParty>

    <EdiMessageType>0</EdiMessageType>

    <ActionType>EdiBatchActivate</ActionType>

    <ActionDateTime>2011-01-14T14:55:23.190</ActionDateTime>

    <UsedOnce>0</UsedOnce>

    <ToBeBatched>1</ToBeBatched>

    </PAM_Control>

    </ControlMessage>

    Friday, January 14, 2011 9:15 PM
  • The PAM does not ahve to do with the recieve port. That is why it is not subscribing. You subscribe the PAM at the send port with the PAM properties. Do not include the receive port. That is why this is not working. Look at the link below to read more of PAM.

    http://blog.tsathish.com/?cat=15 

    http://msdn.microsoft.com/en-us/library/bb226500(v=bts.10).aspx 


    Please Indicate "Mark as Answer" if this Post has Answered the Question
    • Proposed as answer by Carlos T. _ Monday, January 17, 2011 1:08 PM
    • Unproposed as answer by FrankD302 Friday, January 28, 2011 4:49 PM
    Monday, January 17, 2011 1:07 PM
  • I removed the receive port from the filter criteria, but the batch control message is still suspending on the BatchControlMessageRecvPort.  I get this message by clicking the 'start' button in the Interchange Batch Creation Settings screen, without even trying to process any data.  It's as if nothing is subscribing to the batch control message itself.  However, all 3 batching orchestrations (Batching, Routing, BatchSuspend) are started. 

    Monday, January 17, 2011 8:01 PM
  • Wait... Is something getting suspended? If you are refering to the batching that you are having problems, then we are talking about somehting differnet. Here are the steps I found to subscribe a batch.

    1. Set up the recieve location to configure the EDI dissasembler to use the batch maker component to "True". If not available, create a custom pipeline and add it.
    2. Set up the send port to use the edi destination party name "Trade Parner name here", edi batch encoding type  "x12" edi to be batched = "False"
    3. Go to the trade partner config and subscrinbe the batch making component using one filter that will link it back to the receive port.

    I may be missing what you are trying to say. If this does not help, let me know. Creating a batch is somewhat tricky I found. Not set up right and things just get weird. Just let me know if this does not help and I will explain further. I also found that the documentation from MS was not clear enough and I got more confused, which is why I documented the above to help me create them.


    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Monday, January 17, 2011 8:21 PM
  • Carlos--Yes, the actual BatchControlMessage is suspending on the BatchControlMessageRecvPort with the following error:

    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.

    The message itself is:

    <?xml version="1.0" encoding="utf-16" ?>
    <ControlMessage xmlns="http://SQLControlMessage.IssueSelect">
    <PAM_Control>
    <DestinationParty>14</DestinationParty>
    <EdiMessageType>0</EdiMessageType>
    <ActionType>EdiBatchActivate</ActionType>
    <ActionDateTime>2011-01-17T13:07:32.840</ActionDateTime>
    <UsedOnce>0</UsedOnce>
    <ToBeBatched>1</ToBeBatched>
    </PAM_Control>
    </ControlMessage>

    On the receive side I have a custom pipeline with the Flat Flat File Disassembler Component added to the Disassemble stage and the Batch Marker Component added to the Resolve Party stage.  My input file is a proprietary flat file format.  Ignore EDI Message Encoding Type is set to True since it is not yet an X12 file at that stage (is this a good assumption?).  I have a map added to the receive port that transforms it into X12.

    The send port has the following filters:  EDI.DestinationPartyName==ABC, EDI.ToBeBatched==False, EDI.EncodingType==0.

    The batch filter for the destination party is set to the receive port name.

     

    Monday, January 17, 2011 8:44 PM
  • OOOHHH...Wait...If the imput file is a flat file, then I am not sure if the batch will work at this point. I have never done the batching from a flat file to EDI. It may work, but is EDI your final output?
    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Monday, January 17, 2011 9:07 PM
  • Yes, EDI is the final output.  On the MSDN link that you forwarded earlier it says that the batch marker component will also work in a custom pipeline.  And in the control message I see that EDI.ToBeBatched==True and DestinationParty==14(which is correct).  So the properties are getting promoted.  My suspicion is that the batching orchestration is not getting instantiated, but I can't figure out why. 
    Monday, January 17, 2011 9:33 PM
  • Have you been able batch EDI files without the flatffile. In other words, change the recieve port to EDI, set the EDI dissasembler to use the batch maker component to "True" and then drop a few files in there. Also how many filters do you have in the EDI batch on the TP config?


    Please Indicate "Mark as Answer" if this Post has Answered the Question
    Monday, January 17, 2011 9:43 PM
  • Frank,

    Just my 2 cents, Make sure you have only 1 batch configured for the Trading Partner. Multiple batches are supported only from 2009 version.


    Sathish - http://blog.tsathish.com - Please Indicate "Mark as Answer" if this Post has Answered the Question
    Tuesday, January 18, 2011 3:00 AM
  • I haven't been able to batch just EDI files, even when dropping an X12 file and using EDI receive and send ports.  I have only 1 batch filter.  I'm still noticing that when I start the batch, the batch control message gets suspended, before any files are dropped.  When files get dropped they suspend with 'no subscribing orchestration or send port' on the receive port.  So I'm thinking the batching orchestration is not instantiated and this is why I get the error on the receive port.  Does this sound right? 
    Wednesday, January 19, 2011 5:41 PM
  • Yes--only 1 batch is configured.
    Wednesday, January 19, 2011 5:41 PM
  • Frank,

    Can you validate 

    • All the Batching Orchestrations are started
    • Receive Pipeline is Microsoft.BizTalk.Edi.BatchControlMessageRecvPipeline for BatchControlMessageRecvLoc Receive Location.

    Sathish - http://blog.tsathish.com - Please Indicate "Mark as Answer" if this Post has Answered the Question
    Thursday, January 20, 2011 6:57 PM
  • Yes, all three Batching Orchestrations are started:  Batching Orchestration, Routing Orchestration, and BatchSuspendOrchestration.  The Receive Pipeline is Microsoft.BizTalk.Edi.BatchControlMessageRecvPipeline for BatchControlMessageRecvLoc Receive Location. 

    When I start the batch I get the following error:

    The Messaging engine failed to process a message submitted by adapter:SQL Source URL:SQL://DIBS853LT/BizTalkMgmtDb/. 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.

    The control message itself is:

    <ControlMessage xmlns="http://SQLControlMessage.IssueSelect">
    <PAM_Control>
    <DestinationParty>15</DestinationParty>
    <EdiMessageType>0</EdiMessageType>
    <ActionType>EdiBatchActivate</ActionType>
    <ActionDateTime>2011-01-25T10:02:20.427</ActionDateTime>
    <UsedOnce>0</UsedOnce>
    <ToBeBatched>1</ToBeBatched>
    </PAM_Control>
    </ControlMessage> 

    Tuesday, January 25, 2011 4:06 PM
  • Yes--there were running instances of the batching orchestration.  I terminated those instances and restarted the host instance and now everything is working fine.

    Thanks!

    Monday, February 7, 2011 11:21 PM