|
Home > Archive > BizTalk Server General > November 2004 > Filtering Send Port Messages
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 |
Filtering Send Port Messages
|
|
| NigelT 2004-11-30, 2:46 am |
| We are developing a BizTalk solution which needs to process a messages which
comply to a number of different schemas. Ideally we would like to end up
with one web service containing a method for each schema. The majority of
messages can be processed using BizTalk messaging and we have defined a
two-way send port to send messages to a custom Adaptor. This send port also
has a set of inbound and outbound maps defined plus a filter to monitor the
webservice receive port. This works fine, and messages are picked up by
BizTalk and sent to the send port directly. However, there are a couple of
messages which need to be processed by an Orchestration and should not be
sent directly to the send port
What I want to do is only pick up messages for which I have an outbound and
inbound map defined on the send port and let other messages be picked up by
an Orchestration. Is there an easy way to do this via some kind of filter
expression? I guess the alternative is to create a second web service that
is only for messages which have associated orchestration but I want to avoid
this if possible.
| |
| Greg Forsythe 2004-11-30, 7:46 am |
| You can filter on MessageType
(BTS.MessageType = "targetnamespace#rootnode" OR
BTS.MessageType = "targetnamespace2#otherroot ) AND
BTS.ReceivePortName = "InboundWebServicePort"
The send port would subscribe to those messages that it could process.
The orchestration will subscribe to the message type/s declared in its
activate receive shape/s AND to the receive port it is bound to (if it is
bound to a port)
If any message type is declared twice then both subscriptions will be
honoured. i.e. both the send port and orchestration will process the
message.
Greg
"NigelT" <Nigel.Tunnicliffe@Unisys.com> wrote in message
news:cohesj$jgl$1@si05.rsvl.unisys.com...
> We are developing a BizTalk solution which needs to process a messages
which
> comply to a number of different schemas. Ideally we would like to end up
> with one web service containing a method for each schema. The majority of
> messages can be processed using BizTalk messaging and we have defined a
> two-way send port to send messages to a custom Adaptor. This send port
also
> has a set of inbound and outbound maps defined plus a filter to monitor
the
> webservice receive port. This works fine, and messages are picked up by
> BizTalk and sent to the send port directly. However, there are a couple of
> messages which need to be processed by an Orchestration and should not be
> sent directly to the send port
>
> What I want to do is only pick up messages for which I have an outbound
and
> inbound map defined on the send port and let other messages be picked up
by
> an Orchestration. Is there an easy way to do this via some kind of filter
> expression? I guess the alternative is to create a second web service that
> is only for messages which have associated orchestration but I want to
avoid
> this if possible.
>
>
|
|
|
|
|