| Help Needed 2005-07-06, 7:48 am |
| Hi All,
I got one bug, our application is like;
1. .NET Source Application (Say App1) will send a query to ‘BTSIn’ MSMQ
queue, with message type ‘Query’.
2. Biztalk Server 2004 is configured to listen to this queue (i.e., BTSIn
queue). Biztalk will place this message from ‘BTSIn’ to ‘QueryQueue’.
3. .NET Target Application (Say App2) will be read this message from
‘QueryQueue’ queue and sends a response again to ‘BTSIn’, with message type
‘Response’.
4. Now Biztalk will forward this message to ‘ResponseQueue’ queue.
5. .NET Source Application (App1) will read the response from
‘ResponseQueue’ using correlation ID.
To maintain the ‘Correlation ID’, first when Biztalk receives a query
message (Step 2). It will set the ‘Correlation ID’ to the sending message,
from the ID of received message (SendMsg(MSMQ.CorrelationID) =
RecvMsg(MSMQ.ID)).
Everything works fine, but when message id is greater than 7 digits it is
taking the entire number. Suppose;
If .NET source application (App1) is sending a query to queue and if this
message contains Id like, ‘<guid>\1006601’. Biztalk could able to take only
‘<guid>\100660’ (observe the last number ‘1’, which is missing) and set to
Sending message correlation ID (with missing ‘1’). Obiviously, at last
source application (App1) can’t find the message because it is reading using
correlation id.
Any ideas how to solve this problem and take entire message id in biztalk
and set as correlation id to send message.
|