|
Home > Archive > BizTalk Server General > May 2004 > Correlation question
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 |
Correlation question
|
|
|
| Hi,
Is there any way to bring out correlation by promoting any other properties
rather than elements of the schema used in messages? Is there anything like
Orchestration Instance ID, or Correlation ID which I can use to bring out
correlation in an asynchronous transaction involving WebServices and MSMQ?
Thanks in advance for your reply...
Regards,
Abani
| |
| Narasimhan Padmanabhan 2004-05-19, 5:49 pm |
| The Orchestration Instance ID, Correlation ID, et al are system properties
that are used internally by the system. It is strongly advised not to rely
on these properties to do the routing but instead use the promoted
properties in the messages.
Cheers!
This posting is provided "AS IS" with no warranties, and confers no rights.
EBusiness Server Team
--------------------
| >>From: "Abani" <abanikg@aditi.com>
| >>Subject: Correlation question
| >>Date: Wed, 19 May 2004 22:47:57 +0530
| >>Lines: 13
| >>X-Priority: 3
| >>X-MSMail-Priority: Normal
| >>X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
| >>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
| >>Message-ID: <ui$g9UcPEHA.628@TK2MSFTNGP11.phx.gbl>
| >>Newsgroups: microsoft.public.biztalk.general
| >>NNTP-Posting-Host: 164.164.12.225
| >>Path:
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
.phx.gbl!TK2MSFTNGP11.phx.gbl
| >>Xref: cpmsftngxa10.phx.gbl microsoft.public.biztalk.general:15421
| >>X-Tomcat-NG: microsoft.public.biztalk.general
| >>
| >>Hi,
| >>
| >>Is there any way to bring out correlation by promoting any other
properties
| >>rather than elements of the schema used in messages? Is there anything
like
| >>Orchestration Instance ID, or Correlation ID which I can use to bring
out
| >>correlation in an asynchronous transaction involving WebServices and
MSMQ?
| >>
| >>Thanks in advance for your reply...
| >>
| >>Regards,
| >>Abani
| >>
| >>
| >>
| |
|
| Hi Narasimhan,
I am facing difficulty in incorporating correlation in my scenario. Any
help on this will be counted. Following is my scenario.
I have an input message schema with one promoted property
"employee_number". I have another response schema with one promoted property
"employee_number". I have one orchestration which is accepting input
messages through "File" Adapter. It then passes the message to an external
web service with the same same schema as in Recieve Shape through a Send
shape using a "custom" adapter. The orchestration then dehydrates waiting
for a response from the Web Service. The Web Service processes the request
and respond back to MSMQ to store the result as a new Message in a Private
queue. In the next part of the same orchestration the message is recieved
from MSMQ through MSMQC Adapter through a Recieve Shape which is attached to
the response schema and re-hydrates the orchestration. and the orchestration
sends the message back to an Output Folder as an xml file through "File"
Adapter.
1. When I paste a single file in Input location from where the
orchestration takes the files, a single orchestration service instance is
generated and the orchestration instance completes successfully.
2. When I paste 3 different files (which have different "employee_number"
values) at the same time from where the orchestration takes the files i.e.,
from Input Location, 3 separate orchestration service instances are
instantiated and the orchestration completes perfectly.
3. BUT when I paste 3 xml files in the same Input Location with the same
"employee_number" in all the 3 xml files, then only 1 orchestration service
instance are instantiated and only one output message is recieved from the
orchestration to the Output Folder. In HAT, the status shown for the Service
Instance is "Completed with discarded messages".
So if this is what is as expected in BizTalk 2004, is there a way to
achieve isolation between 3 same messages as in point number 3 above. Can it
be acheived if I promote more than a single property in the messages may-be
some BizTalk inherent properties?
Thanks and Regards,
Abani
"Narasimhan Padmanabhan (MSFT)" <narpad@online.microsoft.com> wrote in
message news:mKUx9YePEHA.308@cpmsftngxa10.phx.gbl...
> The Orchestration Instance ID, Correlation ID, et al are system
properties
> that are used internally by the system. It is strongly advised not to
rely
> on these properties to do the routing but instead use the promoted
> properties in the messages.
>
> Cheers!
> This posting is provided "AS IS" with no warranties, and confers no
rights.
>
> EBusiness Server Team
> --------------------
> | >>From: "Abani" <abanikg@aditi.com>
> | >>Subject: Correlation question
> | >>Date: Wed, 19 May 2004 22:47:57 +0530
> | >>Lines: 13
> | >>X-Priority: 3
> | >>X-MSMail-Priority: Normal
> | >>X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
> | >>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
> | >>Message-ID: <ui$g9UcPEHA.628@TK2MSFTNGP11.phx.gbl>
> | >>Newsgroups: microsoft.public.biztalk.general
> | >>NNTP-Posting-Host: 164.164.12.225
> | >>Path:
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
> phx.gbl!TK2MSFTNGP11.phx.gbl
> | >>Xref: cpmsftngxa10.phx.gbl microsoft.public.biztalk.general:15421
> | >>X-Tomcat-NG: microsoft.public.biztalk.general
> | >>
> | >>Hi,
> | >>
> | >>Is there any way to bring out correlation by promoting any other
> properties
> | >>rather than elements of the schema used in messages? Is there
anything
> like
> | >>Orchestration Instance ID, or Correlation ID which I can use to
bring
> out
> | >>correlation in an asynchronous transaction involving WebServices and
> MSMQ?
> | >>
> | >>Thanks in advance for your reply...
> | >>
> | >>Regards,
> | >>Abani
> | >>
> | >>
> | >>
>
| |
| Matt Milner 2004-05-24, 4:37 pm |
| That is how BizTalk behaves. Since you are correlating on the employee
number, it has to be unique for running instances of the orchestration. You
can create a correlation set with more than one parameter if you need to
have duplicate employee numbers. Essentially, BizTalk is going to use
whatever set of parameters you give it to find the mathing orchestration.
So, if teh numbers are hte same, it is not going to be able to tell that
anything is different and look for a different instance of the
orchestration.
Matt
"Abani" <abanikg@aditi.com> wrote in message
news:%238GKT7ZQEHA.1620@TK2MSFTNGP12.phx.gbl...
> Hi Narasimhan,
>
> I am facing difficulty in incorporating correlation in my scenario. Any
> help on this will be counted. Following is my scenario.
>
> I have an input message schema with one promoted property
> "employee_number". I have another response schema with one promoted
property
> "employee_number". I have one orchestration which is accepting input
> messages through "File" Adapter. It then passes the message to an external
> web service with the same same schema as in Recieve Shape through a Send
> shape using a "custom" adapter. The orchestration then dehydrates waiting
> for a response from the Web Service. The Web Service processes the request
> and respond back to MSMQ to store the result as a new Message in a Private
> queue. In the next part of the same orchestration the message is recieved
> from MSMQ through MSMQC Adapter through a Recieve Shape which is attached
to
> the response schema and re-hydrates the orchestration. and the
orchestration
> sends the message back to an Output Folder as an xml file through "File"
> Adapter.
>
> 1. When I paste a single file in Input location from where the
> orchestration takes the files, a single orchestration service instance is
> generated and the orchestration instance completes successfully.
> 2. When I paste 3 different files (which have different
"employee_number"
> values) at the same time from where the orchestration takes the files
i.e.,
> from Input Location, 3 separate orchestration service instances are
> instantiated and the orchestration completes perfectly.
> 3. BUT when I paste 3 xml files in the same Input Location with the same
> "employee_number" in all the 3 xml files, then only 1 orchestration
service
> instance are instantiated and only one output message is recieved from the
> orchestration to the Output Folder. In HAT, the status shown for the
Service
> Instance is "Completed with discarded messages".
>
> So if this is what is as expected in BizTalk 2004, is there a way to
> achieve isolation between 3 same messages as in point number 3 above. Can
it
> be acheived if I promote more than a single property in the messages
may-be
> some BizTalk inherent properties?
>
> Thanks and Regards,
> Abani
>
> "Narasimhan Padmanabhan (MSFT)" <narpad@online.microsoft.com> wrote in
> message news:mKUx9YePEHA.308@cpmsftngxa10.phx.gbl...
> properties
> rely
> rights.
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
> anything
> bring
and[vbcol=seagreen]
>
>
| |
|
| Thanks Matt. Is there any property of BizTalk such as Orchestration ID or
instance ID which I can promote to make this happen? Is there anything
equivalent to "XLANGInstanceID" of BizTalk 2002 which can be used for
rehydration of orchestrations? I have this scenario where a running
orchestration gets dehydrated for a long time and in that period of time if
a second Input Message having same "employee_number" is entered to the
Orchestration's Input Location, one of the Input Messages will fail to
proceed.The messages can be exactly the same but still I need both of the
Input messages to be successfully executed. So is there any way out of this
problem?
Thanks and Regards,
Abani
"Matt Milner" <matt.milner@m3technologypartners dot com> wrote in message
news:O0uZGbaQEHA.2468@TK2MSFTNGP11.phx.gbl...
> That is how BizTalk behaves. Since you are correlating on the employee
> number, it has to be unique for running instances of the orchestration.
You
> can create a correlation set with more than one parameter if you need to
> have duplicate employee numbers. Essentially, BizTalk is going to use
> whatever set of parameters you give it to find the mathing
orchestration.
> So, if teh numbers are hte same, it is not going to be able to tell that
> anything is different and look for a different instance of the
> orchestration.
>
> Matt
>
>
> "Abani" <abanikg@aditi.com> wrote in message
> news:%238GKT7ZQEHA.1620@TK2MSFTNGP12.phx.gbl...
Any[vbcol=seagreen]
> property
external[vbcol=seagreen]
Send[vbcol=seagreen]
waiting[vbcol=seagreen]
request[vbcol=seagreen]
Private[vbcol=seagreen]
recieved[vbcol=seagreen]
attached[vbcol=seagreen]
> to
> orchestration
"File"[vbcol=seagreen]
is[vbcol=seagreen]
> "employee_number"
> i.e.,
same[vbcol=seagreen]
> service
the[vbcol=seagreen]
> Service
Can[vbcol=seagreen]
> it
> may-be
in[vbcol=seagreen]
to[vbcol=seagreen]
no[vbcol=seagreen]
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
microsoft.public.biztalk.general:15421[vbcol=seagreen]
other[vbcol=seagreen]
to[vbcol=seagreen]
WebServices[vbcol=seagreen]
> and
>
>
| |
| Christof 2004-05-24, 4:37 pm |
| Take a look at:
Microsoft.XLANGs.BaseTypes.InstanceId
Never tried this myself but if I'm not mistaken it can be used as "static"
context on your orchestration. Try doing something like this in an
expression shape:
myOrchStringVariable = MyOrchestrationTypeName(
Microsoft.XLANGs.BaseTypes.InstanceId )
It might be possible that you don't have intellisense for this kind of
operation though...
Let me know the outcome please.
Kind regards,
Christof
"Abani" <abanikg@aditi.com> wrote in message
news:egUJL2bQEHA.2248@TK2MSFTNGP12.phx.gbl...
> Thanks Matt. Is there any property of BizTalk such as Orchestration ID
or
> instance ID which I can promote to make this happen? Is there anything
> equivalent to "XLANGInstanceID" of BizTalk 2002 which can be used for
> rehydration of orchestrations? I have this scenario where a running
> orchestration gets dehydrated for a long time and in that period of time
if
> a second Input Message having same "employee_number" is entered to the
> Orchestration's Input Location, one of the Input Messages will fail to
> proceed.The messages can be exactly the same but still I need both of the
> Input messages to be successfully executed. So is there any way out of
this
> problem?
>
> Thanks and Regards,
> Abani
>
> "Matt Milner" <matt.milner@m3technologypartners dot com> wrote in
message
> news:O0uZGbaQEHA.2468@TK2MSFTNGP11.phx.gbl...
orchestration.[vbcol=seagreen]
> You
to[vbcol=seagreen]
> orchestration.
that[vbcol=seagreen]
scenario.[vbcol=seagreen]
> Any
> external
> Send
> waiting
> request
> Private
> recieved
> attached
> "File"
instance[vbcol=seagreen]
> is
files[vbcol=seagreen]
the[vbcol=seagreen]
> same
from[vbcol=seagreen]
> the
to[vbcol=seagreen]
above.[vbcol=seagreen]
> Can
wrote[vbcol=seagreen]
> in
not[vbcol=seagreen]
> to
promoted[vbcol=seagreen]
> no
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
> microsoft.public.biztalk.general:15421
> other
there[vbcol=seagreen]
> to
> WebServices
>
>
| |
| Matt Milner 2004-05-24, 11:35 pm |
| There are properties like that, see the post by Christof, but I don't think
they are recommended for correlation. However, you can create a GUID very
easily and use that as a value that you pass around and use for extra
correlation. Just create it after your first receive and then starting
sending it in and out of the orchestration. This gives you the same type of
unique identifer without reliance on those instance ID properties.
Matt
"Abani" <abanikg@aditi.com> wrote in message
news:egUJL2bQEHA.2248@TK2MSFTNGP12.phx.gbl...
> Thanks Matt. Is there any property of BizTalk such as Orchestration ID
or
> instance ID which I can promote to make this happen? Is there anything
> equivalent to "XLANGInstanceID" of BizTalk 2002 which can be used for
> rehydration of orchestrations? I have this scenario where a running
> orchestration gets dehydrated for a long time and in that period of time
if
> a second Input Message having same "employee_number" is entered to the
> Orchestration's Input Location, one of the Input Messages will fail to
> proceed.The messages can be exactly the same but still I need both of the
> Input messages to be successfully executed. So is there any way out of
this
> problem?
>
> Thanks and Regards,
> Abani
>
> "Matt Milner" <matt.milner@m3technologypartners dot com> wrote in
message
> news:O0uZGbaQEHA.2468@TK2MSFTNGP11.phx.gbl...
orchestration.[vbcol=seagreen]
> You
to[vbcol=seagreen]
> orchestration.
that[vbcol=seagreen]
scenario.[vbcol=seagreen]
> Any
> external
> Send
> waiting
> request
> Private
> recieved
> attached
> "File"
instance[vbcol=seagreen]
> is
files[vbcol=seagreen]
the[vbcol=seagreen]
> same
from[vbcol=seagreen]
> the
to[vbcol=seagreen]
above.[vbcol=seagreen]
> Can
wrote[vbcol=seagreen]
> in
not[vbcol=seagreen]
> to
promoted[vbcol=seagreen]
> no
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
> microsoft.public.biztalk.general:15421
> other
there[vbcol=seagreen]
> to
> WebServices
>
>
| |
| Abani 2004-05-30, 10:46 am |
| Hi Christof, this works just perfect for me. Thanks for this solution.
Regards,
Abani
"Christof" <bts2004communityfeedback (at) hotmail (dot) com> wrote in
message news:%23Of8mCcQEHA.4020@TK2MSFTNGP11.phx.gbl...
> Take a look at:
>
> Microsoft.XLANGs.BaseTypes.InstanceId
>
> Never tried this myself but if I'm not mistaken it can be used as
"static"
> context on your orchestration. Try doing something like this in an
> expression shape:
>
> myOrchStringVariable = MyOrchestrationTypeName(
> Microsoft.XLANGs.BaseTypes.InstanceId )
>
> It might be possible that you don't have intellisense for this kind of
> operation though...
> Let me know the outcome please.
>
> Kind regards,
> Christof
>
> "Abani" <abanikg@aditi.com> wrote in message
> news:egUJL2bQEHA.2248@TK2MSFTNGP12.phx.gbl...
ID[vbcol=seagreen]
> or
time[vbcol=seagreen]
> if
the[vbcol=seagreen]
> this
> message
employee[vbcol=seagreen]
> orchestration.
need[vbcol=seagreen]
> to
use[vbcol=seagreen]
tell[vbcol=seagreen]
> that
> scenario.
promoted[vbcol=seagreen]
input[vbcol=seagreen]
an[vbcol=seagreen]
through a[vbcol=seagreen]
dehydrates[vbcol=seagreen]
the[vbcol=seagreen]
a[vbcol=seagreen]
through[vbcol=seagreen]
> instance
> files
are[vbcol=seagreen]
with[vbcol=seagreen]
> the
orchestration[vbcol=seagreen]
recieved[vbcol=seagreen]
> from
the[vbcol=seagreen]
way[vbcol=seagreen]
> to
> above.
messages[vbcol=seagreen]
> wrote
system[vbcol=seagreen]
advised[vbcol=seagreen]
> not
> promoted
confers[vbcol=seagreen]
>
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGP08
any[vbcol=seagreen]
> there
use[vbcol=seagreen]
>
>
|
|
|
|
|