BizTalk Gurus

What does MsgA(*) = MsgB(*) do?

rated by 0 users
This post has 4 Replies | 3 Followers

Top 100 Contributor
Posts 16
mchallis Posted: Wed, Oct 24 2007 2:54 AM

Some code I have picked up has 2 lines:

 

SendMessage = DetailsMessage;

SendMessage(*) = DetailsMessage(*);

 Inside a Construct Message.  What is the difference in meaning of these two assignments?

Top 10 Contributor
Posts 244
nickh replied on Wed, Oct 24 2007 3:29 AM

mchallis,

The first line copies the message *content* - e.g. xml. The second line copies the message content *plus* the message *context*.

Stephen W. Thomas has a quick overview here - http://geekswithblogs.net/sthomas/archive/2005/04/26/38286.aspx 

Hope this helps,

Nick. 

Nick Heppleston

An Independent BizTalk Consultant in the UK - Blog at http://www.modhul.com

 

Top 10 Contributor
Posts 260
tomasr replied on Wed, Oct 24 2007 7:16 AM
Nick, Actually, I seem to remember the first one copies both the message contents *and* the message context, while the second copies *only* the message context.

http://winterdom.com/

Top 10 Contributor
Posts 1,133

Yep, I think Tomas is correct. 

The key is… when you do a transform inside an Orchestration the contaxt isn’t copied for you.  So the 2nd line (from above) would be needed to copy all the context data over if you need it inside the 2nd message.

This is not the same behavior as mapping on the Receive Port.

Stephen W. Thomas

Stephen W. Thomas http://www.BizTalkGurus.com

Top 10 Contributor
Posts 244
nickh replied on Mon, Oct 29 2007 12:55 PM

Gents, I agree - my bad.

Please see:

So what does Msg2(*) = Msg1(*) do exactly?

Nick.

Nick Heppleston

An Independent BizTalk Consultant in the UK - Blog at http://www.modhul.com

 

Page 1 of 1 (5 items) | RSS