MS Dynamics AX Web Services
MS Dynamics AX can be accessed in different ways depending on which version you are using. You can use our database level access MS Dynamics AX (with special support for reading and writing data in the correct AX format etc.) MS Dynamics AX or you can use our MS Dynamics AX WebServices which can be used to access Documents/Tables exposed as a Web Service.
For the MS Dynamics 365 for Finance and Operations, Enterprise Edition, you should normally use our MS Dynamics AX ODATA support.
The following versions of AX are supported for Web Services
- MS Dynamics AX 2009
- MS Dynamics AX 2012 R1, R2, R3
- Microsoft Dynamics 365 for Finance and Operations, Enterprise Edition (AX 2017/2018 - only custom objects)
System requirements
- Web Services - you need AIF Web Services for AX installed and available.
- You might need additional licenses from Microsoft - please check your license conditions for this.
Additional Installation
Configuration in MS Dynamic AX
- You need to expose your MS Dynamics AX Web Services with wsHttpBinding using SecurityMode=Transport and ClientCredentialType=Ntlm.
- Expose the Web Services from within MS Dynamics AX - use names like "Customer" and "SalesOrder".
- In AX2009, open the Microsoft Dynamics AX client, select the DAT company and go to the Basic area,
Under Setup, expand the Application Integration Framework, select Services
Find for example the CustCustomerService and set it to Enabled (check the box).
To set bindings and security mode, select Configure and a new window will open (Microsoft Service Configuration Editor)
under Bindings select the wsHttpBinding - select the Security tab and set Mode=Transport, TransportClientCredential=Ntlm
under Services, expand each Service and its Endpoints, select the (Empty Name) and ensure that Binding and BindingConfiguration is set to wsHttpBinding (and NOT to basicHttpBinding !).
- In AX2012, open the Microsoft Dynamics AX client, select the DAT company and go to the System administration area,
Under Setup, expand the Services and Application Integration Framework, select Inbound ports
Create a New Inbound port, name it AifWebService (for example), Adapter: HTTP, Select the URI (you might need to create a WebSite first),
Press Configure, under Bindings, select wsHttpBinding (or create new Binding Configuration), in the Security tab, set Mode=Transport, TransportClientCredential=Ntlm. under Services, expand each Service and its Endpoints, select reqReplyEndpoint and set Binding=wsHttpBinding and select the corresponding BindingConfiguration, then close the Configuration Editor.
press "Service operations" and navigator down to for example CustCustomerService and select all CustCustomerService operations (create, delete, etc.) and add these to the window on the left. Close the Service operations window and Activate the new inbound port.
-
To use Transport Security (SSL) you will need to install a server certificate on the AX AIF (IIS) server. This can easily be done using a self-signed certificate. In WindowsServer 2008 for example
- Open "Internet Information Services (IIS) Manager"
- Click the "computer name"
- Select "Server certificates"
- On the right side, click "create self-signed certificate"
- Give it a name
-
You also need to add SSL Bindings to the site:
- Select the WebSite (e.g. Default Web Site)
- On the right side under "Edit side", choose "Bindings..."
- Click "Add..." and add HTTPS, 443, *, and select your certificate
- You can test using Browse (you might need to enable directory browsing)
After this, you can go ahead and Read Design and start creating Transfers.
Troubleshooting: Lots of things can go wrong in this setup, so please follow the above instructions carefully.
An error like "This is not a SOAP message" can mean a lot of things - usually, something is not set up correctly in IIS - it could be that the services are not using the wsHttpBindings (but rather the default basicHttpBinding).
When IIS and the Web Services are set up correctly, then you can see long error messages and you can find more details in AX: Open the Microsoft Dynamics AX client, select the DAT company and go to the Periodic area, expand the Application Integration Framework, select Exceptions
In IIS 7.5 you might need to edit the web.config file directly and remove the line with extendedProtectionPolicy, situated under your wsHttpBinding definition.
Configuration in Rapidi
- Log in to MyRapidi. Go to 'Connections' and choose the AX WS Connector from the list
- The fields under the MS Dynamics AX Web Service Connection are as follows:
-
Code: The code is automatically created and cannot be edited.
-
Description: Enter a text describing this Connection. Example: "Production AX database, cee company".
-
Authentication Type: Select the Authentication method to be used with AX Web Services. Only NTLM is supported for now.
-
Server Connect: Specify the name and path of the server hosting the MS Dynamics AX Web Services. Please use the full path to the Web Services on the server - like https://server.corp.rapidi.com/MicrosoftDynamicsAXAif50/customerservice.svc (typical for AX2009) or
http://server.corp.rapidi.com:90/MicrosoftDynamicsAXAif60/AifTest/xppservice.svc (typical for AX2012).
Please note: The HTTP or HTTPS are ignored - we use HTTP with default port 80 or specified port (:90) for reading the WSDL and we always use port 443 SSL for accessing the WebServices.
-
Company: Enter the name of the AX company here. Example: cee or 100
-
User ID: Enter the UserID to access the AX WebService server here.
-
Password: Enter the password for your above UserID.
-
Domain: Here you enter the windows Domain name that is used by the Web Service Server.
-
Service List: AX2009 only: Enter a list of the services that you have exposed and want to Read Design for (separated with #). Example: Customer#SalesOrder
Copy, Test, Activate Changes, and Read Design