Question

Here is the problem: Biztalk application should get data from webservice into two steps:

1.Request list of changed clients GetChangedClients(date) and receive list in format:

    <clients>
        <client id='C1'>
        <client id='C2'>
        ....
        <client id='CN'>
    </clients>  

2.After receiving list of clients Biztalk will issue one call per client like

getChanges("C1")
getChanges("C2")
    ....
getChanges("CN")

3.After changes messages received they will be passed to WCF-port.

Question: What would be the best way to build this into biztalk (building orchestration with a loop, call component to create multiple messages with clientid, create custom adapter ) ?

Was it helpful?

Solution

I think that the scatter-gatherer pattern would work well for this. In your orchestration split the clients xml document into individual client messages, then publish these to a orchestration that handles them along with a correlation token. The orchestration that does the individual calls and sends the response back to the controlling orchestration. An example can be found at http://www.richardhallgren.com/a-loosely-coupled-scatter-and-gather-implementation-in-biztalk-2006/

Another place for an example of this is at http://blogs.msdn.com/b/cvidotto/archive/2006/12/18/biztalk-server-2006-code-samples-awesome.aspx. Search for Implementing Scatter and Gather Pattern.

OTHER TIPS

One of the simplest way to this, is to use Partner Direct Ports in BizTalk.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top