MSMQ Bus Adapter - Require MSMQ to be installed on Client?

iceborgiceborg Member Posts: 67
I Want to execute a "realtime" transaction from the Navision Client using MSMQ.
I want from a Form, Place Code to Drop a Message in MSMQ on a Server and then await the reply in a Receive Queue.
If I dont get a reply due to system failures etc. within resasonable time, I will handle it, but in 99% the reply will be instant and the operator can continue to work with this additional information.

Right now im stuck in just dropping the Message in MSMQ....

This code below should work in order to drop a message in MSMQ on a remote server, it works perfectly if I run it from a Client on the Server (SERVER001) itself.

I have installed the Navision SDK on the Clients so they can compile the Objects and everything.

CREATE(MQBus);
CREATE(Cc2);
Cc2.AddBusAdapter(MQBus,1);
MQBus.OpenWriteQueue('SERVER001\fromNavision',0,0);
OutMsg := Cc2.CreateoutMessage('Message [url=Queue://SERVER01]Queue://SERVER01[/url]\fromNavision');
OutS := OutMsg.GetStream;
XMLDoc.save(OutS);
OutMsg.Send(0);



When they try though they receive:
This Message is for C/Al programmers:
An exception was raised in method OpenwriteQueue. The OLE control or Automation server has returned error
(HRESULT) -2147352567.
The component did not provide the exception description.


Now, the Question: Do I have to install MSMQ on all Clients that run Navision in order for this to Work ?????
](*,) :shock:

Comments

  • IHateLinuxIHateLinux Member Posts: 223
    Hi,

    IMHO the answer is: Yes you have to install MSMQ.

    Otherwise it is not possible to access MSMQ objects and also the MSMQComponent creates a temporarily Outgoing Queue (something similar to your Outlook Outbox).

    HTH,
    Rainer
  • iceborgiceborg Member Posts: 67
    Thanks again Reiner for again giving me a fast answer :mrgreen:

    I just want to be 100% on this before going ahead and istalling MSMQ in My Citrix Environment :shock:

    You are 100% sure?
  • jesamjesam Member Posts: 100
    Yes, you really need to do this. MSMQ is a transport protocol, how are you going to send something from a client if it doesn't have that protocol installed ?
    It's just the same as TCP/IP (well, it is for the purpose of this explanation), if you want to send a TCP/IP packet to another computer, the one sending it also needs a TCP/IP stack installed ...
  • iceborgiceborg Member Posts: 67
    So be it then
    Thank you sooo much!
Sign In or Register to comment.