Send port filter and Orchestration binding priority

Hello,

say there is some receive port RecvPort1. What will happen if some send port filter has BTS.ReceivePortName == RecvPort1 and some orchestration is binded to RecvPort1 also? When message come to receive location of RecvPort1 will it be transmitted to send port path or into the orchestration and why?

Thanks in advance,

Tomislav

March 19th, 2014 9:28am

In your case, one COPY of the message will be sent to EACH subscription. So If your orchestration has an activation Receive, an orchestration instance will be created. Also the send port subscription will ALSO be fulfilled.

Regards.

Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 9:33am

Both.

When the Message is published to the MessageBox, all Subscriptions are evaluated and for each match, two in your example, a routing entry is created for each Service, Orchestration or Send Port, that should get a copy of the message.

Only one copy is stored in the MessageBox.  Only when all subscritpions have been satisfied, by delivering the Message, will it be marked for cleanup.

The Service, Orchestration or Send Port, has to be at least Enlisted for the Subscription to be evaluated.

For clarity, there is no concept of priority in this case.  The Orchestration and Send Port will pick up the messgae when it gets to the top of it's own queue which can be at different times depending on runtime circumstances.

March 19th, 2014 9:40am

Thank you both for quick answer!

I have now another question. On the production server I have RecvPort1, orchestration binded on RecvPort1 and send port with filter BTS.ReceivePortName == RecvPort1 (just that filter, nothing else!). When I unenlist send port I get some routing faliures for RecvPort1. How is that possible since it's still binded with orchestration?

Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 9:59am

Here is the pictorial representation of your scenario for better understanding:

In BizTalk subscription, you will have two subscriptions, one subscription- when you start the orchestration (which is directly bound to Receive port) and another subscription when you enlist the send port with filter for the Receive port. Here are the high level sequence to activities that would happed:

  1. So after the message is received by the Receive port, it would be published to BizTalk message box db.
  2. Subscription evaluation would take place to match subscription for the  published message (into BizTalk msgbox db).
  3. As in your case for the published message two subscriptions would be evaluated. And instance of orchestration  would receive the message and also the send port with filter which match to the Receive Port which published the message

Note: Image courtesy, Microsoft which I updated for users better understanding :)

March 19th, 2014 10:02am

Is the Orchestration Enlisted/Started?

Are you using PassThroughReceive Pipeline on the RecvPort1?  If the Orchestration's Receive Port has a MessageType, that becomes part of the Subscription so you would need either the XmlReceive or a FlatFileReceive Pipeline to set the MessageType on the received Message.

Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 10:06am

Hope when you mean by "routing faliures", the error is "The published message could not be routed because no subscribers were found"

May be the message type for which Orchestration's receive shape is bound to doesn't match the message received by your RecvPort1.

If you query for the subscriptions in the BizTalk admin console, you will see the subscription for the orchestration, it would have message type and also Receive Port to match. In your case may be Receive port is matched by not the message type which orchestration is subscription for. So also ensure you have XMLReciece pipeline been used which would promoted this message type if the received message is of correct message type.

When the send port with filter for Receive port was on enlisted state, your subscription was just to receive all messages from that receive port, subscription is not based on message type, just receive p

March 19th, 2014 10:12am

Is the send port also used in the orchestration probably through some party binding? Can you post the complete message from the BizTalk Admin Console?

Regards.

Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 10:16am

In your case, one COPY of the message will be sent to EACH subscription. So If your orchestration has an activation Receive, an orchestration instance will be created. Also the send port subscription will ALSO be fulfilled.

Regards.

  • Marked as answer by Tomislav Glava Wednesday, March 19, 2014 1:55 PM
March 19th, 2014 4:28pm

In your case, one COPY of the message will be sent to EACH subscription. So If your orchestration has an activation Receive, an orchestration instance will be created. Also the send port subscription will ALSO be fulfilled.

Regards.

  • Marked as answer by Tomislav Glava Wednesday, March 19, 2014 1:55 PM
Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 4:28pm

In your case, one COPY of the message will be sent to EACH subscription. So If your orchestration has an activation Receive, an orchestration instance will be created. Also the send port subscription will ALSO be fulfilled.

Regards.

  • Marked as answer by Tomislav Glava Wednesday, March 19, 2014 1:55 PM
March 19th, 2014 4:28pm

Both.

When the Message is published to the MessageBox, all Subscriptions are evaluated and for each match, two in your example, a routing entry is created for each Service, Orchestration or Send Port, that should get a copy of the message.

Only one copy is stored in the MessageBox.  Only when all subscritpions have been satisfied, by delivering the Message, will it be marked for cleanup.

The Service, Orchestration or Send Port, has to be at least Enlisted for the Subscription to be evaluated.

For clarity, there is no concept of priority in this case.  The Orchestration and Send Port will pick up the messgae when it gets to the top of it's own queue which can be at different times depending on runtime circumstances.

  • Edited by boatseller Wednesday, March 19, 2014 1:37 PM
  • Marked as answer by Tomislav Glava Wednesday, March 19, 2014 1:55 PM
Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 4:35pm

Both.

When the Message is published to the MessageBox, all Subscriptions are evaluated and for each match, two in your example, a routing entry is created for each Service, Orchestration or Send Port, that should get a copy of the message.

Only one copy is stored in the MessageBox.  Only when all subscritpions have been satisfied, by delivering the Message, will it be marked for cleanup.

The Service, Orchestration or Send Port, has to be at least Enlisted for the Subscription to be evaluated.

For clarity, there is no concept of priority in this case.  The Orchestration and Send Port will pick up the messgae when it gets to the top of it's own queue which can be at different times depending on runtime circumstances.

  • Edited by boatseller Wednesday, March 19, 2014 1:37 PM
  • Marked as answer by Tomislav Glava Wednesday, March 19, 2014 1:55 PM
March 19th, 2014 4:35pm

Both.

When the Message is published to the MessageBox, all Subscriptions are evaluated and for each match, two in your example, a routing entry is created for each Service, Orchestration or Send Port, that should get a copy of the message.

Only one copy is stored in the MessageBox.  Only when all subscritpions have been satisfied, by delivering the Message, will it be marked for cleanup.

The Service, Orchestration or Send Port, has to be at least Enlisted for the Subscription to be evaluated.

For clarity, there is no concept of priority in this case.  The Orchestration and Send Port will pick up the messgae when it gets to the top of it's own queue which can be at different times depending on runtime circumstances.

  • Edited by boatseller Wednesday, March 19, 2014 1:37 PM
  • Marked as answer by Tomislav Glava Wednesday, March 19, 2014 1:55 PM
Free Windows Admin Tool Kit Click here and download it now
March 19th, 2014 4:35pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics