Message not being picked up from onRamp WCF type send port in BizTalk

162 views Asked by At

I have an Orchestration in my application which receives an XML message as an input from MSMQ, processes it and then in the end sends it to an OnRamp WCF send port. Now the OnRamp port has got following configurations set -

My requirement is , when the Orchestration is sending an XML (as output in the end) to this port, these messages must to be picked by other Orchestrations which is not happening in my case. All the messages are stuck in this port. Please help me with this problem.

Thanks!

2

There are 2 answers

0
Tom W On

Why would messages that are routed to a physical send port be picked up by another orchestration?

If this is the behaviour you want, I don't think a WCF send port is the right approach. If you intend messages published by an orchestration to activate another orchestration, use a Direct-bound port, which will write these messages directly to the message box. Then set an appropriate subscription on the activating receive shape of the second orchestration that you are certain will match the published messages.

See Working with Direct Bound Ports in Orchestrations

0
pgcan On

So what I understand from your question that you need to invoke another orchestration from first orchestration. And probably your are using ESB Toolkit (generally we use terms offRamp and onRamp with toolkit).

ESB Toolkit Way:

I would suggest to use an itinerary and orchestration extender to route messages. Internally it uses the DirectBound port funda only. Here is an example of this.

Without ESB Toolkit:

What Tom W suggested was correct. But make sure that when you create subscription at direct bound port of second orchestration, the context properties used at Filter Expression has to be unique otherwise if filter expression is generic and matches multiple subscriber then a copy of message will be picked by each subscriber.