BizTalk Server General - attaching a map to the send port

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > December 2004 > attaching a map to the send port





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author attaching a map to the send port
Klundell

2004-12-27, 5:48 pm

Hi when I create a receive port and attach a map to it all incoming messages
have that map applied to it when it goes out of the send port. However if I
change the configuration so that the map is attached to the send port it no
longer executes the map. I have verified that in the receive port I am using
the passthrough pipeline. There are no maps attached to the receive pipeline.
For the send pipeline I am using the DefaultPipeline.XML Transport pipeline.
I have a filter defined for the send pipeline as BTS.ReceivePortName ==
rcvPortIncoming. The outbound map is the proper map. When I test the Map it
works properly. However when I execute it the map does not seem to work. The
messages goes through untouched.
Any Ideas ?
Richard Blewett [DevelopMentor]

2004-12-27, 8:46 pm

Try setting the receive pipeline to the XmlReceive pipeline. I think no-one is setting the message type in tthe context and so the map is not matching ton the message. (in theory you caould have many maps each tuned to a different message type).

Regards

Richard Blewett - DevelopMentor
http://www.dotnetconsult.co.uk/weblog
http://www.dotnetconsult.co.uk

Hi when I create a receive port and attach a map to it all incoming messages
have that map applied to it when it goes out of the send port. However if I
change the configuration so that the map is attached to the send port it no
longer executes the map. I have verified that in the receive port I am using
the passthrough pipeline. There are no maps attached to the receive pipeline.
For the send pipeline I am using the DefaultPipeline.XML Transport pipeline.
I have a filter defined for the send pipeline as BTS.ReceivePortName ==
rcvPortIncoming. The outbound map is the proper map. When I test the Map it
works properly. However when I execute it the map does not seem to work. The
messages goes through untouched.
Any Ideas ?

Klundell

2004-12-28, 5:49 pm

Richard,

Thanks this worked. However I am not sure why it is working. You mentioned
that you thought no one was setting the message type in the context and so
the map is not matching to the message. I am not clear on what all that
means. Could you please elaborate on this ?

thanks
Kris.

"Richard Blewett [DevelopMentor]" wrote:

> Try setting the receive pipeline to the XmlReceive pipeline. I think no-one is setting the message type in tthe context and so the map is not matching ton the message. (in theory you caould have many maps each tuned to a different message type).
>
> Regards
>
> Richard Blewett - DevelopMentor
> http://www.dotnetconsult.co.uk/weblog
> http://www.dotnetconsult.co.uk
>
> Hi when I create a receive port and attach a map to it all incoming messages
> have that map applied to it when it goes out of the send port. However if I
> change the configuration so that the map is attached to the send port it no
> longer executes the map. I have verified that in the receive port I am using
> the passthrough pipeline. There are no maps attached to the receive pipeline.
> For the send pipeline I am using the DefaultPipeline.XML Transport pipeline.
> I have a filter defined for the send pipeline as BTS.ReceivePortName ==
> rcvPortIncoming. The outbound map is the proper map. When I test the Map it
> works properly. However when I execute it the map does not seem to work. The
> messages goes through untouched.
> Any Ideas ?
>
>

Jon Flanders

2004-12-28, 5:49 pm

In order to run the correct XSLT (Map) the Pipeline infrastructure needs to
know the doctype (aka schema type) of the xml document it is sending. The
"component" that typically puts the doctype into the Message Context is an
Dissasembler. The XMLDissasembler lives in the XmlReceive pipeline and will
take the root element name and the namespace URI and put that information
into the message context, so that the pipeline processor can the run the
correct XSLT. Without that information in the message context, the
infrastructure wouldn't know what XSLT (map) to run.

--
Jon Flanders
http://staff.develop.com/jfland/
"Klundell" <Kris.Lundell@uuhsc.com> wrote in message
news:CE71A56C-B068-48D6-8AF5-8A6913EE0CB0@microsoft.com...[vbcol=seagreen]
> Richard,
>
> Thanks this worked. However I am not sure why it is working. You mentioned
> that you thought no one was setting the message type in the context and so
> the map is not matching to the message. I am not clear on what all that
> means. Could you please elaborate on this ?
>
> thanks
> Kris.
>
> "Richard Blewett [DevelopMentor]" wrote:
>
no-one is setting the message type in tthe context and so the map is not
matching ton the message. (in theory you caould have many maps each tuned to
a different message type).[vbcol=seagreen]
messages[vbcol=seagreen]
if I[vbcol=seagreen]
it no[vbcol=seagreen]
using[vbcol=seagreen]
pipeline.[vbcol=seagreen]
pipeline.[vbcol=seagreen]
Map it[vbcol=seagreen]
work. The[vbcol=seagreen]


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com