ASP.NET & MSMQ

I’m able to create a message in MSMQ using ASP.NET. Problem is, is that NAS does not seem to recoginize the message. NAS will receive the message if I send a message from Navision to MSMQ but if I send a message from ASP to MSMQ NAS will not receive it. One thing I did notice is that the “class” for the Navision sent message and the ASP sent message were different. In the Queue, the Navision sent message is listed as “Nontransactional message”. Whereas the message sent from the ASP was listed as “Normal”. I’m not sure if this is the cause but if anyone has any idea as to why I have this problem do tell. [8D]. Any assistance would be greatly appreciated. Es

search here for msmq and you will find more info. 1) make sure it is wellformed data (i.e. xml in the body) 2) Set the correct label or else it wont work (use “Navision MSMQ-BA”)

Hey mjanum, Thanks for the reply. I think the body of the message is well formed. Also I am using “nsadminreceivequeue” which is created by NAS I believe. I’m assuming that, that is the queue you mention to utilize. As for the body, this is how it looks 3C 3F 78 6D 6C 20 76 65 72 <?xml ver 73 69 6F 6E 3D 22 31 2E 30 sion="1.0 22 3F 3E 0D 0A 3C 73 74 72 "?>…<str 69 6E 67 3E 54 68 69 73 20 ing>This 69 73 20 61 20 54 65 73 74 is a Test 20 4D 45 73 73 61 67 65 3C MEssage< 2F 73 74 72 69 6E 67 3E /string> I think that the xml seemed to be structured. Somehow ASP.NET must format it to XML.

as far as i remember you have to use the activex formatter on the message body in asp.net or else Navision wont recognize it.

Ok. I will try that. Thanks alot Mjanum. Es [:)]

I’ve tried sending the message in all 3 formats and Navision still does not respond. Any other ideas? [:(] Es

I recommend writing a .NET automation object that you can use in Navision. It keeps everything in .NET. You can then run the object and listen for MSMQ messages using NAS. That will wrap your message and you can deliver it to Navision in a fashion that it can handle.

The Queue that is send to Navision from .NET must be labeled with Navision MSMQ-BA. Navision will only recognize queue with this label.

Hi, Just to avoid confusion it is the Message that must have it’s label set to “Navision MSMQ-BA” (Label is a property of System.Messaging.Message)

Also, the message queue that Navision is looking at must be a non-transactional message queue. When you create the message in ASP.NET I dont think you have control over it being transactional or not. Navision does not know how to read from a transactional queue. By the way, the MQBusAdapter in Navision is hard coded to only handle messages with that label. How’s that for transpaent development eh [Duh!] If you create your XML document as a MSXML3.Document object, it will work. You should be able to find it by right clicking the references, select add reference and look in the COM tab. Use the one called ‘Microsoft XML, v3.0’.