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:
0
Comments
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
I just want to be 100% on this before going ahead and istalling MSMQ in My Citrix Environment :shock:
You are 100% sure?
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 ...
Thank you sooo much!