|
Home > Archive > BizTalk Server General > July 2005 > Need help on: Failed to initialize the correlation property name:
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 |
Need help on: Failed to initialize the correlation property name:
|
|
| Michael Sander 2005-07-21, 7:47 am |
| Hello,
I've got a custom pipline promoting some of the properties contained in a
property schema.
The correlation set is initialized in an send object, pointing to a port
wich uses the pipeline.
When I run the ochestration, I get the following error:
Failed to initialize the correlation property name: order_no namespace:
http://Test.properties from message: msgOrderOut.
Looks like the send object wants me to set a value for order_no. How can I
tell it to ignore the property, since it will be initiated later in the
pipeline?
Thx,
Michael
| |
| Yossi Dahan 2005-07-21, 7:47 am |
| You can't
The property must have a value before the correlation set is initialized in
the orchestration as this is when the subscriptions are updated to reflect
the correlation.
Yossi Dahan
"Michael Sander" <spam@h3c.de> wrote in message
news:eWA$FAfjFHA.1048@tk2msftngp13.phx.gbl...
> Hello,
> I've got a custom pipline promoting some of the properties contained in a
> property schema.
> The correlation set is initialized in an send object, pointing to a port
> wich uses the pipeline.
>
> When I run the ochestration, I get the following error:
> Failed to initialize the correlation property name: order_no namespace:
> http://Test.properties from message: msgOrderOut.
>
> Looks like the send object wants me to set a value for order_no. How can I
> tell it to ignore the property, since it will be initiated later in the
> pipeline?
>
> Thx,
> Michael
>
| |
| Michael Sander 2005-07-21, 7:47 am |
| Hi Yossi,
does that mean theres no way to initialize the property from within a send
pipeline?
How am I then supposed to access a value, e.g. an order number from an
schema wich looks like this:
<xs:element name="DocumentNumber">
<xs:complexType mixed="true">
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="EndCustomer" />
<xs:enumeration value="Branch" />
<xs:enumeration value="DeliveryParty" />
<xs:enumeration value="PurchaseOrder" />
<xs:enumeration value="Shop" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
The problem here is, that maxoccures is greater than 1. So I cant just
promote the value.
Michael
"Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
news:%233qVPNfjFHA.572@TK2MSFTNGP15.phx.gbl...
> You can't
>
> The property must have a value before the correlation set is initialized
> in the orchestration as this is when the subscriptions are updated to
> reflect the correlation.
>
> Yossi Dahan
>
>
> "Michael Sander" <spam@h3c.de> wrote in message
> news:eWA$FAfjFHA.1048@tk2msftngp13.phx.gbl...
>
>
| |
| Yossi Dahan 2005-07-21, 7:47 am |
| It depends in your scenario, really.
If there's multuple occurances of the property - what would you do in the
send port?
You could try and do it in the receive pipeline if you can, or in case your
message is being created in the orchestration try and do it there, probably
going to have to have custom code for it.
Yossi Dahan
"Michael Sander" <spam@h3c.de> wrote in message
news:ep9DiVfjFHA.3704@TK2MSFTNGP10.phx.gbl...
> Hi Yossi,
> does that mean theres no way to initialize the property from within a send
> pipeline?
> How am I then supposed to access a value, e.g. an order number from an
> schema wich looks like this:
>
> <xs:element name="DocumentNumber">
> <xs:complexType mixed="true">
> <xs:attribute name="type" use="required">
> <xs:simpleType>
> <xs:restriction base="xs:token">
> <xs:enumeration value="EndCustomer" />
> <xs:enumeration value="Branch" />
> <xs:enumeration value="DeliveryParty" />
> <xs:enumeration value="PurchaseOrder" />
> <xs:enumeration value="Shop" />
> </xs:restriction>
> </xs:simpleType>
> </xs:attribute>
> </xs:complexType>
> </xs:element>
>
> The problem here is, that maxoccures is greater than 1. So I cant just
> promote the value.
>
> Michael
>
> "Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
> news:%233qVPNfjFHA.572@TK2MSFTNGP15.phx.gbl...
>
>
| |
| Michael Sander 2005-07-21, 5:52 pm |
| Well, there are multiple occurences of DocumentNumber, but just one of the
desired type.
I already tried to do this in one of the receive-pipelines, ending up with
this error: in a sequential convoy receive the ports must be identical.
The ports just CANT be the same here, one will be a file, the other a
http-push.
Im really stuck with this....
Doing this while the message is beeing created, didnt know thats possible.
Will this initialize the correlation set? And how can this be done?
Michael
"Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
news:O%23tEuYfjFHA.3336@tk2msftngp13.phx.gbl...
> It depends in your scenario, really.
> If there's multuple occurances of the property - what would you do in the
> send port?
>
> You could try and do it in the receive pipeline if you can, or in case
> your message is being created in the orchestration try and do it there,
> probably going to have to have custom code for it.
>
> Yossi Dahan
>
> "Michael Sander" <spam@h3c.de> wrote in message
> news:ep9DiVfjFHA.3704@TK2MSFTNGP10.phx.gbl...
>
>
| |
| Yossi Dahan 2005-07-21, 5:52 pm |
| I'm still missing the picture here I think, I understand the message is
received through a receive port, can't you have a pipeline component in that
port that will promote the property you need?
It will have to be a custom component because the element is repeated, so
this is where you implement your logic to find out the correct property that
needs promoting and do the promotion.
if you do that it will be available in your orchestration as soon as the
message is received and you will be able to initialize your correlation set
before the send.
Yossi Dahan
"Michael Sander" <spam@h3c.de> wrote in message
news:uGsxKefjFHA.2644@TK2MSFTNGP09.phx.gbl...
> Well, there are multiple occurences of DocumentNumber, but just one of the
> desired type.
> I already tried to do this in one of the receive-pipelines, ending up with
> this error: in a sequential convoy receive the ports must be identical.
> The ports just CANT be the same here, one will be a file, the other a
> http-push.
> Im really stuck with this....
>
> Doing this while the message is beeing created, didnt know thats possible.
> Will this initialize the correlation set? And how can this be done?
>
> Michael
>
> "Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
> news:O%23tEuYfjFHA.3336@tk2msftngp13.phx.gbl...
>
>
| |
| Michael Sander 2005-07-25, 3:00 am |
| Hi Yossi,
I'll try to explain:
1. Biztalk receives a order.
This order has an order number, wich could be easily promoted.
2. Biztalk constructs a new message. This one will be send to some other
company, so I have no influence on the data schema.
This message contains the order number, but it cant be promoted.
3. The other company will send an answer through some other port.
Here we also got the order number. This one is already promoted through a
receive-pipeline.
As far as I understood Biztalk so far, the problems are:
- I cant use the promotion from message 1, cause then I'm doing convoing.
For this, message 3 must use the same port as message 1, wich is impossible.
- I just cant promote the order number in the outgoing message.
So how should I be able to correlate message 1 and 3?
Michael
> I'm still missing the picture here I think, I understand the message is
> received through a receive port, can't you have a pipeline component in
> that port that will promote the property you need?
Im doin
"Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
news:OUNILpgjFHA.1204@TK2MSFTNGP12.phx.gbl...
> It will have to be a custom component because the element is repeated, so
> this is where you implement your logic to find out the correct property
> that needs promoting and do the promotion.
>
> if you do that it will be available in your orchestration as soon as the
> message is received and you will be able to initialize your correlation
> set before the send.
>
> Yossi Dahan
| |
| Yossi Dahan 2005-07-25, 3:00 am |
| Firstly you should be able to promote a property from the message you're
sending, if you're worrying about editing the schema of a vendor note that
the property promotion is added to the schema as annotation so it does not
really changes the schema.
As for the correlation - you don't need a convoy - just a plain simple
correlation.
create a correlation type that includes your order number, initialize a
correlation set based on it in the send port and then follow the same
correlation set on the next receive.
this should do the trick for you
Yossi Dahan
"Michael Sander" <spam@h3c.de> wrote in message
news:ebGawwOkFHA.3580@TK2MSFTNGP09.phx.gbl...
> Hi Yossi,
> I'll try to explain:
>
> 1. Biztalk receives a order.
> This order has an order number, wich could be easily promoted.
>
> 2. Biztalk constructs a new message. This one will be send to some other
> company, so I have no influence on the data schema.
> This message contains the order number, but it cant be promoted.
>
> 3. The other company will send an answer through some other port.
> Here we also got the order number. This one is already promoted through a
> receive-pipeline.
>
>
> As far as I understood Biztalk so far, the problems are:
> - I cant use the promotion from message 1, cause then I'm doing convoing.
> For this, message 3 must use the same port as message 1, wich is
> impossible.
> - I just cant promote the order number in the outgoing message.
>
> So how should I be able to correlate message 1 and 3?
>
> Michael
>
> Im doin
>
> "Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
> news:OUNILpgjFHA.1204@TK2MSFTNGP12.phx.gbl...
>
>
| |
| Michael Sander 2005-07-25, 8:12 am |
| Hi Yossi,
true, I've tried to avoid adding extra information in the vendors messgage,
but if thats the only solution...
Thanks a lot for your help and your patience!
Regards,
Micha
"Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
news:ucTdt8OkFHA.2644@TK2MSFTNGP09.phx.gbl...
> Firstly you should be able to promote a property from the message you're
> sending, if you're worrying about editing the schema of a vendor note that
> the property promotion is added to the schema as annotation so it does not
> really changes the schema.
>
> As for the correlation - you don't need a convoy - just a plain simple
> correlation.
> create a correlation type that includes your order number, initialize a
> correlation set based on it in the send port and then follow the same
> correlation set on the next receive.
>
> this should do the trick for you
>
> Yossi Dahan
>
> "Michael Sander" <spam@h3c.de> wrote in message
> news:ebGawwOkFHA.3580@TK2MSFTNGP09.phx.gbl...
>
>
| |
| Yossi Dahan 2005-07-25, 8:12 am |
| If you really need to (and I truely don't think it's a big problem to add
annotation to vendor schema's with the exception that you will have to add
them again when receiving a new schema) you could use custom code to do the
promotion. the code can then use other means to decide what to promote and
not the schema
Yossi Dahan
"Michael Sander" <spam@h3c.de> wrote in message
news:OQ5XCRPkFHA.3288@TK2MSFTNGP10.phx.gbl...
> Hi Yossi,
> true, I've tried to avoid adding extra information in the vendors
> messgage, but if thats the only solution...
>
> Thanks a lot for your help and your patience!
>
> Regards,
> Micha
>
> "Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
> news:ucTdt8OkFHA.2644@TK2MSFTNGP09.phx.gbl...
>
>
| |
| Michael Sander 2005-07-25, 6:04 pm |
| What do you mean with custom code?
I'm stuck with the next problem now:
I'm trying to initialize the correlation while sending out the order, wich
actually works fine.
But since I use a custom pipeline to promote the property on the answer I
receive, I had to set the property schema base of the property to
MessageContextPropertyBase.
With this, the initialization fails. sigh
Michael Sander
"Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
news:uf4VE5PkFHA.2644@TK2MSFTNGP09.phx.gbl...
> If you really need to (and I truely don't think it's a big problem to add
> annotation to vendor schema's with the exception that you will have to add
> them again when receiving a new schema) you could use custom code to do
> the promotion. the code can then use other means to decide what to promote
> and not the schema
>
> Yossi Dahan
| |
| Michael Sander 2005-07-25, 6:04 pm |
| ok, passed this one. I'm now using the Message Assignment Component to write
the Context Property into the message beeing send.
Thanks again!
Micha
"Michael Sander" <spam@h3c.de> schrieb im Newsbeitrag
news:%23u6OcJSkFHA.1464@TK2MSFTNGP14.phx.gbl...
> What do you mean with custom code?
>
> I'm stuck with the next problem now:
>
> I'm trying to initialize the correlation while sending out the order, wich
> actually works fine.
> But since I use a custom pipeline to promote the property on the answer I
> receive, I had to set the property schema base of the property to
> MessageContextPropertyBase.
> With this, the initialization fails. sigh
>
> Michael Sander
>
>
> "Yossi Dahan" <yossi.dahan@sabratech.co.uk> schrieb im Newsbeitrag
> news:uf4VE5PkFHA.2644@TK2MSFTNGP09.phx.gbl...
>
>
|
|
|
|
|