Total Pageviews

Search This Blog

Monday, October 15, 2007

MSMQ Exchange with AX

MSMQ Adapter in Dynamics Ax helps to receive from and send messages to queues. (A Brief on installation steps - Refer Administration Help for a detailed setup of MSMQ)


Install and configure MSMQ


1. Install MSMQ on a Windows Server 2003 computer.

2. Create a queue. A queue for inbound messages can be either private or public; a queue for outbound messages must be public.

3. Configure the queue for sending or receiving documents.

Install and configure the MSMQ adapter

1. Configure global settings.

2. Create the local endpoint.

3. Create the adapter.

4. Create the channel. The channel associates the adapter with an MSMQ queue.

5. Enable the actions.

6. Create the endpoint. The endpoint is the external entity that participates in the document exchange in addition to the local endpoint.

7. Create the endpoint action policy. This step associates an endpoint with an action.

8. Create the endpoint action data policy.

9. Configure the AIF services.


Demo:


A. Create a public queue - AXOUT










































B. Create a purchase order in Axapta and post it as Purchase Order.























C. Go to Inquiries->Purchase Order and Send an electronic copy. An XML of the Purchase Order is generated and the AIF Framework sends it to MSMQ Adapter.
























D. Purchase Order Document is transferred to MSMQ queue – AXOUT.


2 comments:

RNIL said...

In your scenario, the user must explicitly tell AX that the message should be sent.

Would it be possible to automatically send the MSMQ message based on an update event on the record? Suppose I want to send MSMQ-messages every time an article-record is created or updated.

Dilip said...

Hi Rick,

Yes, It's possible to automatically send the MSMQ messge based on an update event on the record. You have to look up at the AIFMSMQ classes which does using the AIF Framework. Alternatively, you can also try out using the CLR Interoperability to program directly against the MSMQ .Net framework class.