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 WebService.
The following versions of AX are supported for WebServices
- MS Dynamics AX 2009
- MS Dynamics AX 2012
- WebServices - you need AIF WebServices for AX installed and available.
- You might need additional licenses from Microsoft - please check your license conditions for this.
- In order for RapidiOnline to connect to your local database server, you need to download and install a small service, that we call the
Configuration in MS Dynamic AX
- You need to expose your MS Dynamics AX WebServices with wsHttpBinding using SecurityMode=Transport and ClientCredentialType=Ntlm.
- Expose the WebServices 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 securitymode, select Configure and a new windows 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 easely be done using a self-signed certificate. In WindowsServer 2008 for example:
1) Open “Internet Information Services (IIS) Manager
2) click the “computer name”
3) select “Server certificates”
4) on right side, click “create self-signed certificate”
5) give it a name
- You also need to add SSL Bindings to the site:
1) select the WebSite (e.g. Default Web Site)
2) on right side under “Edit side”, choose “Bindings...”
3) click “Add...” and add HTTPS, 443, *, and select your certificate
4) you can test using Browse (you might need to anable 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 setup correctly in IIS - it could be that the services are not using the wsHttpBindings (but rather the default basicHttpBinding).
When IIS and the WebServices are setup 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 RapidiOnline
- Logon to RapidiOnline. Select the Configure Tab and then go to the AX WS Connector Tab
- The fields of the MS Dynamics AX WebService DataSource Card are as follows:
- Description: Enter a text describing this Data Source. Example: "Production AX database, cee company".
- Authentication Type: Select the Authentication method to be used with AX WebServices. Only NTLM is supported for now.
- Server Name: Specify the name of the server hosting the AX WebServices. Please use the full path to the WebServices 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 WebService 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
Test and Read Design
- You can Test that the access to a Connection works using the Test button on the Connection.
- Logon to RapidiOnline. Click the Connections
- Read Design is the way to read the layout - the information about tables and fields - from a Connection. Reading the design is