|
Home > Archive > BizTalk Server Orchestration > June 2004 > Correlation Issue
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]
|
|
| Vijen 2004-06-20, 11:09 pm |
| I am working on Biztalk 2004
and experiencing a issue related to Correlation.
I have a Soap port with three Different operations .. namely
Create,Change,Delete..
All three operations use same schema ie. message types are same .
Schema has one property "ID" promoted to enable correlation .
Create has activate receive true and others have activate receive
false ..(A listen shape is used to listen for "Change" and "Delete"
msgs following "Create" action)
A send shape having different schema (but "ID" is mapped to one of the
promoted property of that schema) initializes correlation in Create
while sending Create response, which is followed by "Change" and
"Delete"..(btw. both share the same correlation-set)
When I call Create everything works fine ... and correlation is set..
but after that when Change or delete is called ...orchestration flow
goes on toss ..it behaves weirdly executing all the methods ;-(...
| |
| Matt Milner 2004-06-20, 11:09 pm |
| Since you have the same message type, your create is going to get called
each time you send in that document. There is nother in your message to tell
the system that your subscription should be for other messages. You need to
have the message be different in some way so you can set your filter on the
create receive to just get the create calls.
Matt
"Vijen" <vijendrasawant@yahoo.com> wrote in message
news:82bd7b04.0406160726.3f1cd6c7@posting.google.com...
> I am working on Biztalk 2004
> and experiencing a issue related to Correlation.
>
> I have a Soap port with three Different operations .. namely
> Create,Change,Delete..
>
> All three operations use same schema ie. message types are same .
> Schema has one property "ID" promoted to enable correlation .
> Create has activate receive true and others have activate receive
> false ..(A listen shape is used to listen for "Change" and "Delete"
> msgs following "Create" action)
> A send shape having different schema (but "ID" is mapped to one of the
> promoted property of that schema) initializes correlation in Create
> while sending Create response, which is followed by "Change" and
> "Delete"..(btw. both share the same correlation-set)
> When I call Create everything works fine ... and correlation is set..
> but after that when Change or delete is called ...orchestration flow
> goes on toss ..it behaves weirdly executing all the methods ;-(...
| |
| Vijen 2004-06-20, 11:09 pm |
| Hi,
Thanks for response,
I have tried that also... I have added a filter on CreateReceieve
Shape based on Soap.MethodName ..so it works for that ...but for
"Delete" and "Change" I can't add filter to those b'coz
ActivateReceive is false..:-( ...There has to be some other way out
..... but i don't know that ... I am really intersted to know....
whether "Sequential Convoy" can help on with this
"Matt Milner" <matt.milner@m3technologypartners dot com> wrote in message news:<eS4N3DBVEHA.3596@tk2msftngp13.phx.gbl>...[vbcol=seagreen]
> Since you have the same message type, your create is going to get called
> each time you send in that document. There is nother in your message to tell
> the system that your subscription should be for other messages. You need to
> have the message be different in some way so you can set your filter on the
> create receive to just get the create calls.
>
> Matt
>
>
> "Vijen" <vijendrasawant@yahoo.com> wrote in message
> news:82bd7b04.0406160726.3f1cd6c7@posting.google.com...
| |
| Lee Graber [MSFT] 2004-06-20, 11:09 pm |
| Can you not simply have one receive for updates and then based on some
distinguished field in the document, you can determine if it is a change
message or a delete message. Then use a branch in your schedule with a
decision shape to execute the appropriate actions. How does this sound?
Thanks
Lee
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------[vbcol=seagreen]
<eS4N3DBVEHA.3596@tk2msftngp13.phx.gbl>[vbcol=seagreen]
09:06:31 GMT)[vbcol=seagreen]
cpmsftngxa10.phx.gbl!TK2MSFTFEED01.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.s
ul.t-online.de!t-online.de!news.glorb.com!postnews2.google.com!not-for-mail[vbcol=seagreen]
news:<eS4N3DBVEHA.3596@tk2msftngp13.phx.gbl>...[vbcol=seagreen]
tell[vbcol=seagreen]
need to[vbcol=seagreen]
the[vbcol=seagreen]
| |
| Vijen 2004-06-20, 11:09 pm |
| Hi ,
Thanks
Actually my solution has 2 orchestrations . First detrmines whether it
is a Create,Delete or Change msg. This way I need to shift that logic
in 2nd . But it looks like thats what i will have to do .Please tell
me In a "Sequential Convoy" situation Can i have a listen shape with
"Change" and "Delete" receive waiting for msgs ... Or will it Cause a
Race condition?
kind regards,
Vijendra Sawant
leegr@microsoft.com (Lee Graber [MSFT]) wrote in message news:<Vph#B8MVEHA.2980@cpmsftngxa10.phx.gbl>...[vbcol=seagreen]
> Can you not simply have one receive for updates and then based on some
> distinguished field in the document, you can determine if it is a change
> message or a delete message. Then use a branch in your schedule with a
> decision shape to execute the appropriate actions. How does this sound?
>
> Thanks
> Lee
>
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
> EBusiness Server Team
> --------------------
> <eS4N3DBVEHA.3596@tk2msftngp13.phx.gbl>
> 09:06:31 GMT)
> cpmsftngxa10.phx.gbl!TK2MSFTFEED01.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.s
> ul.t-online.de!t-online.de!news.glorb.com!postnews2.google.com!not-for-mail
> news:<eS4N3DBVEHA.3596@tk2msftngp13.phx.gbl>...
> tell
> need to
> the
| |
| Lee Graber [MSFT] 2004-06-20, 11:09 pm |
| First off convoys are by defitnition race conditions. In building support
for convoys, we are essentially saying we are fixing the race. Now there
are times when that introduces a new race depending on whether you have a
determinstic termination point, but I am wandering now. 
As to your question, I do not understand why you would have 2 receives.
Have one receive, then branch on whether it is a delete or change message.
After you process that "control" message, you would loop back around for
the next control message. I am sort of guessing as to how your protocol
works, but I am assuming it is a create message, followed by n update
messages, followed by an eventual delete message. So you would create an
ordered receive port, have one receive action for the create with activates
the orchestration, then a second receive in a loop which handles receives
both change and delete messages, branches based on which type, and if it is
a delete message, exits the loop, does some cleanup work, and terminates.
Does that help
Lee
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------[vbcol=seagreen]
<eS4N3DBVEHA.3596@tk2msftngp13.phx.gbl>
<82bd7b04.0406170106.1ae04ce4@posting.google.com>
<Vph#B8MVEHA.2980@cpmsftngxa10.phx.gbl>[vbcol=seagreen]
07:54:35 GMT)[vbcol=seagreen]
cpmsftngxa10.phx.gbl!TK2MSFTFEED01.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.s
ul.t-online.de!t-online.de!news.glorb.com!postnews2.google.com!not-for-mail[vbcol=seagreen]
news:<Vph#B8MVEHA.2980@cpmsftngxa10.phx.gbl>...[vbcol=seagreen]
change[vbcol=seagreen]
rights.[vbcol=seagreen]
cpmsftngxa10.phx.gbl!TK2MSFTFEED01.phx.gbl!TK2MSFTNGP08.phx.gbl!newsfeed00.s[vbcol=seagreen]
ul.t-online.de!t-online.de!news.glorb.com!postnews2.google.com!not-for-mail[vbcol=seagreen]
message[vbcol=seagreen]
called[vbcol=seagreen]
message to[vbcol=seagreen]
filter on[vbcol=seagreen]
"Delete"[vbcol=seagreen]
of the[vbcol=seagreen]
Create[vbcol=seagreen]
set..[vbcol=seagreen]
flow[vbcol=seagreen]
|
|
|
|
|