locked
Receive Ports with same location? RRS feed

  • Question

  • 1.) Can I have multiple Receive ports having different Receive locations which are bind to the same Physical Ports?

    Eg: Lets say we have a Physical path on my machine C:\BTS

    So, Can I have different receive ports with same FILE adapter configured to C:\BTS.

    2.) Can I have multiple Receive ports having same Receive location which obviously will have once Physical path (FILE Adapter)?

    Thanks

    • Edited by Dipti S Thursday, May 10, 2012 12:51 PM Modified
    Thursday, May 10, 2012 12:47 PM

Answers

  • Solution summary:

    1. If you don't need early binding in orchestration then go with "Specify later" for logical to physical ports binding and create one physical port from Admin Console.

    2. If you need to have an early binding then go for a hack of having two "different" file masks C:\BTS\* and C:\BTS\** . That will create all the physical ports automatically so nothing to configure in Admin Console.

    Thursday, May 10, 2012 2:33 PM

All replies

  • According to me, this is not possible, within a BizTalk Application or not.

    Address (file path, URI...) should be unique.


    Christophe BRANDO...If this answers your question, please Mark as the Answer. If this post is helpful, please vote as helpful.


    Thursday, May 10, 2012 12:53 PM
  • 1) Kind of yes, you can cheat. Create two receive locations with two different file masks (e.g. C:\BTS\* and C:\BTS\**)

    2) No

    Thursday, May 10, 2012 1:09 PM
  • Could I ask what is the real need for such an architecture? Or is it more of a theoretical question?
    Thursday, May 10, 2012 1:12 PM
  • Even if you can cheat, this is not a best practice to create two or more receive locations with two different file masks (but the same : '*' or '**' for instance) as only the first receive location that detects message will process message.

    According to me, there is a case where file mask could be use is where you want to process different message (i.e. different extension, different file name...) by different receive location.


    Christophe BRANDO...If this answers your question, please Mark as the Answer. If this post is helpful, please vote as helpful.

    Thursday, May 10, 2012 1:19 PM
  • Could I ask what is the real need for such an architecture? Or is it more of a theoretical question?


    We have to receive different type of messages say msg1, msg2, msg3 etc.

    All these messages will be received on same location now. But, later the receiving locations can be different. 

    So, we have created a listen shape with diff receive ports for these messages. We are planning the different ports bind to one receive location now. And later we will bind receive ports to different location.

    Is it possible?


    Thursday, May 10, 2012 1:21 PM
  • Yeah, that is possible if you apply the hack I described earlier. But remember that File Adapter removes the file after processing so only ONE PORT will  receive the message, others will do nothing.
    Thursday, May 10, 2012 1:34 PM
  • Are messages XML or flat file type ?

    If so, I would use one receive location with XMLReceive or FFReceive pipeline component in order to determine message type, and then set different subscribers according to message type :

    • Send port with filter on MessageType
    • One orchestration per message type 

    Christophe BRANDO...If this answers your question, please Mark as the Answer. If this post is helpful, please vote as helpful.

    Thursday, May 10, 2012 1:35 PM
  • all are xml messages with different MessageTypes.
    Thursday, May 10, 2012 1:46 PM
  • Is your requirement to use "Specify now" when you bind logical port to a physical port in orchestration?

    If binding could be set to "Specify later" then you don't need to create both physical ports from the start. I.e. you could create just one physical port with one receive location and bind it to both logical orchestration ports like this:


    Thursday, May 10, 2012 2:19 PM
  • Solution summary:

    1. If you don't need early binding in orchestration then go with "Specify later" for logical to physical ports binding and create one physical port from Admin Console.

    2. If you need to have an early binding then go for a hack of having two "different" file masks C:\BTS\* and C:\BTS\** . That will create all the physical ports automatically so nothing to configure in Admin Console.

    Thursday, May 10, 2012 2:33 PM