01-27-05 10:49 PM
Hello.
You have a couple of different options. First, I do not think you can not
really pass a message to a functoid, at least that I know of.
So, what you can do is either:
1) Pass in the GMID as a 2nd messages input into the map. This can only be
done when mapping inside the Orchestration. This creates a multi-part
message as input to the map. Just use the transform shape inside the map,
set your two input messages, and select create new. It will get all set up
for you.
2) Add a field to your inbound schema, we use attributes on the root node,
which you can set with the values you need to map. This can be done by
copping the message prior to mapping and add the attributes/values with the
values that you needed.
We actually take the inbound message, cast it to an Xml Document, add the
attributes (using myXmlDoc.DocumentElement.SetAttribute("AttName", value) to
get the values), and then set it back to the new message. Sounds like a lot
of work but it is an easy way to get values into the map.
Hope this helps.
Stephen W. Thomas
http://www.geekswithblogs.net/sthomas
"Stephen" wrote:
> I use the following expression to capture my BizTalk message ID:
> GMID=GapiIn(BTS.MessageID); where both GMID & GapiIn are defined message
> variables in my orchestration.
>
> Next I use a transform to map from my GapiIn message to a GapiOut message.
> In this map, I need to pass the GMID into a functoid (a C# assembly) whic
h
> uses its value and finally serializes out a dynamically built
> acknowledgement message which is then inserted into the GapiOut message.
>
> How do I get the GMID value into the functoid? I tried directly referenci
ng
> it in a 2nd functoid that was a in-line script return statement but I can'
t
> seem to reference it correctly. Thanks! (BizTalk 2004)
[ Post a follow-up to this message ]
|