BizTalk Server General - Message Processing

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > November 2004 > Message Processing





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 Message Processing
Bob C.

2004-11-12, 5:48 pm

I will be receiving an XML message that is based on an existing schema which
I have already imported into my project. The message will include information
for various customers, each of whom has a predefined file format that I will
need to map to. I will receive one inbound message and send several outbound
messages.

I know that I need to create schemas and maps for each customer that I will
be sending messages to. My question is: At what point would I extract the
relevant data for each customer from the inbound message? And, in general,
what BizTalk functionality would I use to accomplish the data filtering for
each customer?

Thanks,
Bob Corcoran
Jeff Lynch

2004-11-12, 5:48 pm

You can do this using a "Send Port Group" with different maps on each Send
Port. See my blog for details.

http://dotnetjunkies.com/WebLog/jly...8/03/21114.aspx

--
Jeff Lynch
"A BizTalk Enthusiast"
http://dotnetjunkies.com/WebLog/jlynch/


"Bob C." <BobC@discussions.microsoft.com> wrote in message
news:5D9F99F8-6B55-4BC5-ACC1-363ADD2FB0BE@microsoft.com...
>I will be receiving an XML message that is based on an existing schema
>which
> I have already imported into my project. The message will include
> information
> for various customers, each of whom has a predefined file format that I
> will
> need to map to. I will receive one inbound message and send several
> outbound
> messages.
>
> I know that I need to create schemas and maps for each customer that I
> will
> be sending messages to. My question is: At what point would I extract the
> relevant data for each customer from the inbound message? And, in general,
> what BizTalk functionality would I use to accomplish the data filtering
> for
> each customer?
>
> Thanks,
> Bob Corcoran



Greg Forsythe

2004-11-12, 5:48 pm

You may be able to split the message in the receive pipeline, but this would
require an appropriate format on the incoming file.
If the schema already exists, then you would need to create two new schemas
i.e. an envelope and document schema based on the original.
If this is possible then the XmlDisassembler in the receive pipeline will
split the file into customer specific messages.
You should also promote a destination identifier from the customer message
into the message context, some field that will identify the customer.

You could then declare a send port for each customer, in each send port add
an outbound map and set a filter on the incoming message type and
destination identifier:
BTS.MessageType == IncomingMessageNamespace#rootnote
MYProperties.CustomerNumber = <customernumber>

This is a simple messaging scenario (no orchestrations)

Greg


"Bob C." <BobC@discussions.microsoft.com> wrote in message
news:5D9F99F8-6B55-4BC5-ACC1-363ADD2FB0BE@microsoft.com...
> I will be receiving an XML message that is based on an existing schema

which
> I have already imported into my project. The message will include

information
> for various customers, each of whom has a predefined file format that I

will
> need to map to. I will receive one inbound message and send several

outbound
> messages.
>
> I know that I need to create schemas and maps for each customer that I

will
> be sending messages to. My question is: At what point would I extract the
> relevant data for each customer from the inbound message? And, in general,
> what BizTalk functionality would I use to accomplish the data filtering

for
> each customer?
>
> Thanks,
> Bob Corcoran



Ruslan Yakushev [MSFT]

2004-11-12, 5:48 pm

Answering first part of the question:

Typically this data is extracted in disassembler component of the receive
pipeline. This extracted data can be used to route the message to
appropriate send port.

--------------------[vbcol=seagreen]
>From: "Jeff Lynch" <jeff.lynch@houston-lynch.com>
>References: <5D9F99F8-6B55-4BC5-ACC1-363ADD2FB0BE@microsoft.com>
>Subject: Re: Message Processing
>Date: Fri, 12 Nov 2004 15:58:07 -0600
>Lines: 35
>X-Priority: 3
>X-MSMail-Priority: Normal
>X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
>X-RFC2646: Format=Flowed; Original
>Message-ID: <ODbbyKQyEHA.1392@TK2MSFTNGP14.phx.gbl>
>Newsgroups: microsoft.public.biztalk.general
>NNTP-Posting-Host: gateway.gulfcoastseal.com 65.212.192.66
>Path:

cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP14
.phx.gbl
>Xref: cpmsftngxa10.phx.gbl microsoft.public.biztalk.general:21613
>X-Tomcat-NG: microsoft.public.biztalk.general
>
>You can do this using a "Send Port Group" with different maps on each Send
>Port. See my blog for details.
>
>http://dotnetjunkies.com/WebLog/jly...8/03/21114.aspx
>
>--
>Jeff Lynch
>"A BizTalk Enthusiast"
>http://dotnetjunkies.com/WebLog/jlynch/
>
>
>"Bob C." <BobC@discussions.microsoft.com> wrote in message
>news:5D9F99F8-6B55-4BC5-ACC1-363ADD2FB0BE@microsoft.com...
general,[vbcol=seagreen]
>
>
>


This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Note: For the benefit of the community-at-large, all responses to this
message are best directed to the newsgroup/thread from which they
originated.

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com