May 31, 2006 at 7:36 AM #14777
I have a question about BizTalk messagebox.
I have following scenario in which I tranform a map in one orchestration and I have to store or publish that message to Biztalk messagebox.
Later in another orchestration I have to subscribe the message from messagebox.
Now my question is Is it possible to specifically publish or store a message in messagebox? If so there where and how?
Then How can I subscribe to it from another orchestration?
May 31, 2006 at 9:27 AM #14778
I don’t know much about correlation. So can you give some more detail on the correlation trick that you have been mentioned in your reply
May 31, 2006 at 9:08 AM #14779
Use Direct ports.
In the orchestration the port can be Specify Now, Specify Later or Direct (or Dynamic for Send ports).
A direct send port will publish the message straight to the messagebox and a direct receive port will subscribe to a message from the messagebox.
You need to take care of the subscription details yourself, using a filter on the receive shape in the orchestration and setting the correct properties before publishing the message. There is a trick to promoting properties with an orchestration using a correlation set that you may need to use and some times you can create an infinite loop with a slight mistake.
If you use a direct send port there must be a matching subscription enlisted or a routing error will occur i.e. you cannot use the messagebox as a handy storage area
May 31, 2006 at 11:32 AM #14780
When you send a message to a direct report you may need to promote a property into the message context for the subscribing orchestration to filter on.
Having a preprocessing orchestration that subscribes to messages of type Invoice and publishing the same message where you want a second orchestration to process it. If the second orchestration just subscribes to messages of type Invoice it will receive all Invoice messages both from the receive port and the first orchestration. You need to create a property (PreprocessingComplete) and have the second orchestration subscribe to Invoices which have a property of PreprocessingComplete.
When you set this property in an orchestration it is written but not promoted to the message context and cannot be used in the filter of the second orchestration.
The trick is to create a correlation set containing the PreprocessingComplete property and \”Initializing\” this correlation set on the send to the direct port. This forces the promotion of this property and enables it to be used in a filter.
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.