Problem with Correlation Sets

P

Piotrek

Guest
Hi.

In my BTS application I have 'main' orchestration, which is activated
by receiving message from other orchestration using direct ports. Then
my 'main' ochestration should wait until some other orchestration
exposed as Web Service is called. Message sent from orchestration
exposed as WS to 'main' one is different than the one, which
activates 'main' orchestration.

I believe I can't initialize correlation set at the beginning of
'main' orchestration and then follow it as it receives a message from
completely different port type and orchestration that the one, which
will be used by web service.

As a result I don't have a clue how to do it. Is there some way, in
which it could be done?

Thanks in advance,
Piotrek

 


L

Leonid Ganeline

Guest
Hi Piotrek,

You CAN initialize the corr set on the first receive shape.
Of course you have to get the right corr parameter from the first and second
messages.
Correalation helps differentiate defferent "treads of messages".
Say you have messages with type A and B on the receive sapes 1 and 2.
Say you've got simultaneously A1, A..., B1, B2,... How your business process
could understand that A1 correlated with B1, not B2? If you can not take A
and B together in one BP then why do you follow B after A? You always have
something to bind together A and B otherwise do not link A and B in one
business chain, right?

--
Regards,

Leonid Ganeline [BizTalk MVP]
http://geekswithblogs.net/leonidganeline/


"Piotrek" <ptybulewicz@poczta.fm> wrote in message
news:1194610969.443950.159110@v23g2000prn.googlegroups.com...
> Hi.
>
> In my BTS application I have 'main' orchestration, which is activated
> by receiving message from other orchestration using direct ports. Then
> my 'main' ochestration should wait until some other orchestration
> exposed as Web Service is called. Message sent from orchestration
> exposed as WS to 'main' one is different than the one, which
> activates 'main' orchestration.
>
> I believe I can't initialize correlation set at the beginning of
> 'main' orchestration and then follow it as it receives a message from
> completely different port type and orchestration that the one, which
> will be used by web service.
>
> As a result I don't have a clue how to do it. Is there some way, in
> which it could be done?
>
> Thanks in advance,
> Piotrek
>



 
P

Piotrek

Guest
Hi.

I will describe my situation in a different way:
- there is 'main' orchestration, which performs the main logic,
- 'main' orchestration is activated by inserting some file (message
type A) to some folder,
- 'main' orchestration performs some logic and at some time should
stop and wait for message type B passed from different orchestration
(e.g. using direct ports).

The problem is that when I create two receive shapes in the 'main'
orchestration, then they have to be created as a sequential convoy.
However sequential convoy requires that ports connected with receive
shapes are the same (which is not met in my case as they are
completely two different port types).

So my question is: is it possible to do it? If so - how?

Regards,
Piotrek

 
L

Leonid Ganeline

Guest
You can add to the port shape additional operation with different message
type. If you use the direct type port shape you can link (subscribe) it to
the different message types which can be provided by several
ports/orchestrations.

--


Regards,

Leonid Ganeline
BizTalk Solution Developer
----------------------------------------------------------------------------------
Microsoft Certified Technology Specialist: BizTalk Server 2006
http://geekswithblogs.net/leonidganeline/
"Piotrek" <ptybulewicz@poczta.fm> wrote in message
news:1194683203.807433.80310@50g2000hsm.googlegroups.com...
> Hi.
>
> I will describe my situation in a different way:
> - there is 'main' orchestration, which performs the main logic,
> - 'main' orchestration is activated by inserting some file (message
> type A) to some folder,
> - 'main' orchestration performs some logic and at some time should
> stop and wait for message type B passed from different orchestration
> (e.g. using direct ports).
>
> The problem is that when I create two receive shapes in the 'main'
> orchestration, then they have to be created as a sequential convoy.
> However sequential convoy requires that ports connected with receive
> shapes are the same (which is not met in my case as they are
> completely two different port types).
>
> So my question is: is it possible to do it? If so - how?
>
> Regards,
> Piotrek
>



 
J

Jan Eliasen

Guest
On Sat, 10 Nov 2007 00:26:43 -0800, Piotrek <ptybulewicz@poczta.fm>
wrote:

>So my question is: is it possible to do it? If so - how?

How about having your second receive and <the first receive and all
the logic needed to be done before the web services is called> in a
parallel shape? The second receive in one branch and the rest in the
other branch. Let both receive shapes have activate=true and let them
both initialize the same correlation set.

After the parallel shape, just do what should be done after the second
receive.

--
eliasen, representing himself and not the company he works for.

Private blog: http://blog.eliasen.dk

Private email: jan@eliasen.dk
 

Top