Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Unconstructed message – after call orch in loop
- This topic has 3 replies, 1 voice, and was last updated 9 years, 2 months ago by
community-content.
-
AuthorPosts
-
-
January 31, 2006 at 5:40 PM #12770
the reason why you can’t construct a message in a loop is because a message can only be constructed once 🙂
\”A very important concept to understand is that all messages are immutable in BizTalk Server 2004. This means that after a message is constructed, it cannot be changed. \”
from
-
January 31, 2006 at 3:48 PM #12771
I needed to do correlation in a loop, so I broke that off to a sub-orchestration. In other words, the loop contains the call to the sub-orch.
The suborch receives as a request messagea as input parameter, and returns a response message as an output parameter.
I have debug/expression shapes sprinkled throughout my code.
When I \”build\”, I don’t get \”use of constructed message\” inside the loop, but on the first debug after the loop I get it.Is there type of local scope for loops? How do I get around this?
Thanks,
Neal Walters
http://Biztalk-Training.com-
January 31, 2006 at 4:45 PM #12772
My get around for now is to construct the message before the loop.
I think using the message as an output message in the CALL shape, is a get around of the immutability of messages rule.
Neal Walters
http://Biztalk-Training.com
-
-
-
January 31, 2006 at 11:13 PM #12769
Well, that’s true but it’s not
If you receive a message called “In”. You can keep setting something back “In” inside a look. I think I do this in some of my debatching samples. If I remember right, inside the spools table the initial message reference gets dropped and the new updated “In” is now immutable.
I saw one project that look In to Temp, Temp to In, In to Temp, and then back to In to send it out. It worked and only saw 2 message in the spool table. I guess in this case the message is already constructed.
Anyway, point being you can not directly change the message itself without coping it someplace else but you can reassign back to the initial message.
Oh, you right that you can not construct a message inside a loop.
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.