|
Home > Archive > BizTalk Server General > May 2004 > Sending large messages to MSMQT using MSMQ COM Objects
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 |
Sending large messages to MSMQT using MSMQ COM Objects
|
|
|
| Hi,
I have an existing VB application that uses the MSMQ v2
COM objects to send messages to a queue. I'd like to use
this application to send data greater than 4MB through
MSMQ to MSMQT running under BTS 2004. BTS 2004 ships with
an mqrtlarge.dll, however this only exposes an
MQSendLargeMessage API, and, to the best of my knowledge,
no COM-based equivalent.
From the BizTalk Message Queuing Large Message Extension
page in the docs, it looks like all I need to do is
segment the data, and then ensure that each MSMQ message
containing a segment of the large message has its
Extension property set with a 40 byte buffer containing
the appropriate values. The contents of this buffer are
described in the BTS docs (ms-
help://BTS_2004/SDK/htm/ebiz_sdk_utils_mqrtlarge_jlhs.htm).
I have a couple of questions: First, would this work? Or
does the MQSendLargeMessage API perform some other
functionality as well?
Second - if this would work, do the BTS docs accurately
reflect the contents of the Extension property, or has
this changed for the GA?
| |
| Iuliu Rus 2004-05-25, 4:37 pm |
| It would work, but it would be better if you can use MQRTLarge. There is a
sample that shows how to call this dll from .net. The extension property
changed, and now it looks like this:
GUID signature; // signature of the sending application, ignored by msmqt
GUID largeMessageId; // Unique ID of the large message
DWORD dwPartNumber; // number of the fragment (1..n)
BYTE fIsLastPart; // is this the last one?
The third field dissapeared, the fourth field is 4 bytes (still part
number), and the last field is 1 BYTE (1 if this is the last part, 0 if it
isn't).
We will update the docs soon.
|
|
|
|
|