Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Mqrtlarge and large message handling differ between Biztalk versions?

Mqrtlarge and large message handling differ between Biztalk versions?

Scheduled Pinned Locked Moved C / C++ / MFC
c++comdata-structuresdebugginghelp
1 Posts 1 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Daniel Jansson
    wrote on last edited by
    #1

    We've developed a component for sending and reading large messages to msmq queues for communication with Biztalk as implemented as described in this MSDN-article: http://msdn.microsoft.com/en-us/library/aa560386.aspx Simply explained, you use the PROPID_M_EXTENSION field to describe the parts of the messages using the following content: GUID defining that it is a multi-part message (16b) GUID for the message (16b) Total size of the entire message (4b) Current part number (2b) Number of message parts (2b) This works perfectly with Biztalk 2006, however with newer editions (2010/2013) it does not work at all. We've sent large messages out from Biztalk 2013 to a queue and analyzed the field and it seems that the content of PROPID_M_EXTENSION is: GUID defining that it is a multi-part message (16b) GUID for the message (16b) Part number (2b) Empty data (2b) 1 if it is the last part, otherwise 0 (1b) 3 unknown bytes The problem is the last three bytes, that we can't figure out the purpose of and how to calculate. The values differs depending on the message content and size. And it feels like some sort of check sum, but we need to be able to set this manually. Any ideas? There is very little information about this around the web? The existing mqlarge-dll is in native code and can only be decompiled to assembler, which (for me at least) is hard to debug. A way around it would be to include a reference to mqlarge in our project and use the existing assembly, but we would rather have our own code and not be dependent on a dll. And it bugs me not to know how it works as well :)

    1 Reply Last reply
    0
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • World
    • Users
    • Groups