none
Multiple receive ports in one orchestration. RRS feed

  • Question

  • Any help would be apppreciated.

    I have one orchestration with a receive port that polls sql server and writes an xml file to a folder. I know I can write another solution for this but I wanted to add logic to the same orchestration without making any changes to the existing logic, so I added another receive port to get the xml file and transform to a text file and send it to another folder.

    The problem is the "you must specify at least one already-initialized correlation set for a non-activation receive that is on a non-selfcorrelating port" when compiling.

    I have the first receive port active the second not, when I set the second to also active BT complains that only one should be active.

    Is this not an easy thing to do? Two receive ports is not the thing to do in BT?

    Kind Regards.

     


    Bico Bielich

    Wednesday, May 16, 2012 7:26 PM

Answers

  • I have one orchestration with a receive port that polls sql server and writes an xml file to a folder. I know I can write another solution for this but I wanted to add logic to the same orchestration without making any changes to the existing logic, so I added another receive port to get the xml file and transform to a text file and send it to another folder.--> I would suggest you to add one more orchestration which will pick the xml file and transform it to a text file for another location.  This will keep your solution simple and loosely coupled , You can make the changes of any component without breaking or stopping the complete message flow. I would suggest you to take this approach instead of adding one more receive port to the existing orchestration .

    The problem is the "you must specify at least one already-initialized correlation set for a non-activation receive that is on a non-selfcorrelating port" when compiling.I have the first receive port active the second not, when I set the second to also active BT complains that only one should be active. --> BizTalk compiler is treating this a convoy orchestration. You can have two receive port, One will tell the BizTalk service to create a new instance and other will  follow the new messages to the existing instance,There is a specific requirement when you would like to keep two receive port in same orchestration, You have to use listen shape. I would suggest you to refer this and this similar thread.

    I hope this helps.


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"

    • Marked as answer by bicobielich Wednesday, May 16, 2012 8:01 PM
    Wednesday, May 16, 2012 7:53 PM
    Moderator

All replies

  • I have one orchestration with a receive port that polls sql server and writes an xml file to a folder. I know I can write another solution for this but I wanted to add logic to the same orchestration without making any changes to the existing logic, so I added another receive port to get the xml file and transform to a text file and send it to another folder.--> I would suggest you to add one more orchestration which will pick the xml file and transform it to a text file for another location.  This will keep your solution simple and loosely coupled , You can make the changes of any component without breaking or stopping the complete message flow. I would suggest you to take this approach instead of adding one more receive port to the existing orchestration .

    The problem is the "you must specify at least one already-initialized correlation set for a non-activation receive that is on a non-selfcorrelating port" when compiling.I have the first receive port active the second not, when I set the second to also active BT complains that only one should be active. --> BizTalk compiler is treating this a convoy orchestration. You can have two receive port, One will tell the BizTalk service to create a new instance and other will  follow the new messages to the existing instance,There is a specific requirement when you would like to keep two receive port in same orchestration, You have to use listen shape. I would suggest you to refer this and this similar thread.

    I hope this helps.


    HTH,
    Naushad Alam

    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer
    alamnaushad.wordpress.com
    My new TechNet Wiki "BizTalk Server: Performance Tuning & Optimization"

    • Marked as answer by bicobielich Wednesday, May 16, 2012 8:01 PM
    Wednesday, May 16, 2012 7:53 PM
    Moderator
  • Thanks for your detailed explanations ...

    Bico Bielich

    Wednesday, May 16, 2012 8:02 PM
  • Hi,

    If you want to do it in the same orch. Add a listen shape and perform your XML receive operation in other branch ..Here you can have both the receives as True..


    Regards Ritu Raj When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

    Thursday, June 7, 2012 7:06 PM
    Answerer