BizTalk Server General - Problem with Loop shape in the orchestration: help

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > June 2004 > Problem with Loop shape in the orchestration: help





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 Problem with Loop shape in the orchestration: help
Narasimha

2004-06-26, 10:51 am

Hi All,

I am experiencing some problems with the loop shape.
Here is what i am tryign to acheive:

Now i have so much working:

(Orc= orchestration)

Orc A:
Recv Req (Msg A) --- Call Orchestration (Orc B) --- Constrcut Msg(
Transform Msg B to Msg C)
--- Send Msg C

Orc B:
[---Correlated Send and Recv--]
Send Msg A --- Recv -- Msg B

[Msg A is input message parameter for Orc B]
[Msg B is output message parameter for Orc B]

Now this biztalk proj compiles fine,

Now here comes the problem, Now if i put a loop around the orchestration call
shape in Orc A,
that is:

Orc A:
Recv Req (Msg A)
|
|
V
Call Orchestration (Orc B)<----------------
| |
| |
Loop (while MsgB.result==false) -------
|
|
V
Constrcut Msg( Transform Msg B to Msg C)
|
|
V
Send Msg C

Now when i compile this project, the error i get is:
* use of unconstructed message 'MsgB' (at expression for the Loop shape)
* use of unconstructed message 'MsgB' (at the transform shape within the
Construct Msg shape)

What more shd i do to get it working??
Why does this occur??

I tried a way suggested, to constrcut the message C using message assignment and using a variable of System.Xml.XmlDocument...but it is leading to other problems like a error at runtime saying FormatExcpetion.

Why is this problem with loop, am i doing anything wrong or is it a bug with BizTalk 2004?

Plz Help me out! :|

i am pretty desperate to get it working so you can reply
me at ngmujumdar@hotmail.com

Thanks in advance


Kevin Lam [MS]

2004-06-26, 10:51 am

The problem seems like you are trying to do a test in the loop for the
restult of a message that hasn't been constructed yet. Unless your
orchestration is doing more than your diagram below indicates, the actual
order of steps would be:
> Orc A:
> Recv Req (Msg A)
> |
> |
> V
> Loop (while MsgB.result==false) -------
> | |
> | |
> Call Orchestration (Orc B)<----------------
> |
> |
> V
> Constrcut Msg( Transform Msg B to Msg C)
> |
> |
> V
> Send Msg C


Above the order of the Loop and Call have been switched. So the while loop
will try to check the property of an unconstructed message since the call to
the sub-orchestration hasn't been called yet for the first iteration. So
what you can do is just add a call to the sub-orchestration before the loop
to initialize the message.

> Orc A:
> Recv Req (Msg A)
> |
> |
> V
> Call Orchestration (Orc B)
> |
> |
> V
> Loop (while MsgB.result==false) -------
> | |
> | |
> Call Orchestration (Orc B)<----------------
> |
> |
> V
> Constrcut Msg( Transform Msg B to Msg C)
> |
> |
> V
> Send Msg C


-Kevin

--
This posting is provided "AS IS" with no warranties, and confers no rights.
OR if you wish to include a script sample in your post please add "Use of
included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm"
"Narasimha" <Narasimha@discussions.microsoft.com> wrote in message
news:AD18F0F1-6132-46F5-A74C-8CFFED6B3D2A@microsoft.com...
> Hi All,
>
> I am experiencing some problems with the loop shape.
> Here is what i am tryign to acheive:
>
> Now i have so much working:
>
> (Orc= orchestration)
>
> Orc A:
> Recv Req (Msg A) --- Call Orchestration (Orc B) --- Constrcut Msg(
> Transform Msg B to Msg C)
> --- Send Msg C
>
> Orc B:
> [---Correlated Send and Recv--]
> Send Msg A --- Recv -- Msg B
>
> [Msg A is input message parameter for Orc B]
> [Msg B is output message parameter for Orc B]
>
> Now this biztalk proj compiles fine,
>
> Now here comes the problem, Now if i put a loop around the orchestration
> call
> shape in Orc A,
> that is:
>
> Orc A:
> Recv Req (Msg A)
> |
> |
> V
> Call Orchestration (Orc B)<----------------
> | |
> | |
> Loop (while MsgB.result==false) -------
> |
> |
> V
> Constrcut Msg( Transform Msg B to Msg C)
> |
> |
> V
> Send Msg C
>
> Now when i compile this project, the error i get is:
> * use of unconstructed message 'MsgB' (at expression for the Loop shape)
> * use of unconstructed message 'MsgB' (at the transform shape within the
> Construct Msg shape)
>
> What more shd i do to get it working??
> Why does this occur??
>
> I tried a way suggested, to constrcut the message C using message
> assignment and using a variable of System.Xml.XmlDocument...but it is
> leading to other problems like a error at runtime saying FormatExcpetion.
>
> Why is this problem with loop, am i doing anything wrong or is it a bug
> with BizTalk 2004?
>
> Plz Help me out! :|
>
> i am pretty desperate to get it working so you can reply
> me at ngmujumdar@hotmail.com
>
> Thanks in advance
>
>



Narasimha

2004-06-26, 10:51 am

Hi kevin,

Infact the Message B is the output message from OrcB, What i want to acheive is:
Call Orc B from Orc A, Orc B takes Msg A and outputs Msg B,
Now if Msg B.result == false then i want to call Orc B again...

Am i missing something?

Ngm



"Kevin Lam [MS]" wrote:

> The problem seems like you are trying to do a test in the loop for the
> restult of a message that hasn't been constructed yet. Unless your
> orchestration is doing more than your diagram below indicates, the actual
> order of steps would be:
>
> Above the order of the Loop and Call have been switched. So the while loop
> will try to check the property of an unconstructed message since the call to
> the sub-orchestration hasn't been called yet for the first iteration. So
> what you can do is just add a call to the sub-orchestration before the loop
> to initialize the message.
>
>
> -Kevin
>
> --
> This posting is provided "AS IS" with no warranties, and confers no rights.
> OR if you wish to include a script sample in your post please add "Use of
> included script samples are subject to the terms specified at
> http://www.microsoft.com/info/cpyright.htm"
> "Narasimha" <Narasimha@discussions.microsoft.com> wrote in message
> news:AD18F0F1-6132-46F5-A74C-8CFFED6B3D2A@microsoft.com...
>
>
>

Narasimha

2004-06-26, 10:51 am

Hi Kevin,

Thanks for helping out,
I got it here are the details:

I have figured out the problem, problem was with the way i was thinking!

I had intially thought Loop to be a kind of DO..While which does post considtion check
where as it is a kind of While (ah! wish i had hit with asap)

I would like to be in touch with you, as i too do many more things in biztalk 2004 including writing
a custom dapater

the modified orc shown below compiles:

I was doing this (assuming Loop to be DO..WHILE)

Orc A:
Recv Req (Msg A)
|
|
V
Call Orchestration (Orc B)<----------------
| |
| |
Loop (while MsgB.result==false) -------
|
|
V
Constrcut Msg( Transform Msg B to Msg C)
|
|
V
Send Msg C

Where as i should doing :

Orc A:
Recv Req (Msg A)
|
|
V
Call Orchestration (Orc B)
|
|
Loop (while MsgB.result==false) <------|
| |
| |
Call Orchestration (Orc B) |
| |
|-----------------------------------------------------
|
V
Constrcut Msg( Transform Msg B to Msg C)
|
|
V
Send Msg C

Thanks, and plz do answer my further queries
My hotmail id: ngmujumdar@hotmail.com
Plz mail me you personal-id, i will contact if i have any queries...

Thanks in advance
Ngm

"Kevin Lam [MS]" wrote:

> The problem seems like you are trying to do a test in the loop for the
> restult of a message that hasn't been constructed yet. Unless your
> orchestration is doing more than your diagram below indicates, the actual
> order of steps would be:
>
> Above the order of the Loop and Call have been switched. So the while loop
> will try to check the property of an unconstructed message since the call to
> the sub-orchestration hasn't been called yet for the first iteration. So
> what you can do is just add a call to the sub-orchestration before the loop
> to initialize the message.
>
>
> -Kevin
>
> --
> This posting is provided "AS IS" with no warranties, and confers no rights.
> OR if you wish to include a script sample in your post please add "Use of
> included script samples are subject to the terms specified at
> http://www.microsoft.com/info/cpyright.htm"
> "Narasimha" <Narasimha@discussions.microsoft.com> wrote in message
> news:AD18F0F1-6132-46F5-A74C-8CFFED6B3D2A@microsoft.com...
>
>
>

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com