Home Page › Forums › BizTalk 2004 – BizTalk 2010 › a correlation may be initialized only once
- This topic has 4 replies, 1 voice, and was last updated 9 years, 1 month ago by
community-content.
-
AuthorPosts
-
-
August 16, 2006 at 11:01 AM #14142
You cannot initialize a correlation set inside a loop without getting that error message.
You can initialize the correlation set on any preceding send or receive shape and follow that correlation set on the receive shape inside your loop.
Does the data you receive to start the orchestration have the values that you are correlating on? If so you could initialize the correlation set on the activating receive. You would need to promote the values from this message into the properties used by the correlation set.
Otherwise you could have the first send/receive to MQ outside the loop followed by another send/receive inside a loop. Initialize the correlation set on the first send and follow it on the subsequent receives. -
August 16, 2006 at 6:36 PM #14143
What I finally started doing in a lot of my new orchestrations is sending a dummy message before the loop in order to \”initialize\” the correlation.
In our case, we correlate on a SOAP-Header, so we created a dummy message schema and dummy message and send it to a flat file directory.In my opinion, Biztalk needs an \”init correlation\” shape.
Tomas Restrep has a \”NULL Adapter\” that you can use instead of writing to a flat file directory – the message gets \”eaten\” but the correlation is still initialized.
-
August 16, 2006 at 10:26 AM #14144
i have an orchestration that sends a request and retrieves the response msg via MQ. i have initialized a correlation set in the send port. Whenever an invalid response is obtained i want to resend the request again thru the same send shape. But when i try to do so by putting necessary loop it gives me an error \”a correlation may be initialized only once\”.
Can anyone help me… any other method for solving this other than creating a separate orchestration for sending and receiving.
i am using Biztalk 2004.
Thanks in advance… 😀Sajas
-
August 16, 2006 at 12:44 PM #14145
i am correlating the send and receive using the field \”MQSeries.MQMD_CorrelId\”. This field is populated with a value inside the orchestration.
If i put the send shape outside the loop i wont be able to resend the request in case of a failure.
The objective of this loop is to resend the request.
-
August 17, 2006 at 12:03 PM #14146
hi
i created the dummy send shape, initialized the correlation in that shape and i was able to build the solution without any error. Now i have another after deployment. When i resend the request, the orchestration is not able to identify the response message from the MQ. It gives me a subscription error. I get this error.
\”The Messaging engine failed to process a message submitted by adapter MQSeries Source Details:
Could not find a matching subscription for the message.This error occurs if the subscribed orchestration schedule or send port has not been started, or if some of the message properties necessary for subscription evaluation have not been promoted\”
Have you faced this problem?
Thanks
Saj
-
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.