<turbo-stream action="update" target="wiki_card"><template>
<h1>MS Dynamics AX Web Services</h1>
<p>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.) <a href="/wiki/ms_dynamics_ax" data-turbo="true" data-turbo-stream="true" data-controller="wiki" data-action="wiki#updateUrl">MS Dynamics AX</a> or you can use our MS Dynamics AX WebServices which can be used to access Documents/Tables exposed as a Web Service.</p>
<p>For the MS Dynamics 365 for Finance and Operations, Enterprise Edition, you should normally use our <a href="/wiki/ms_dynamics_ax_odata" data-turbo="true" data-turbo-stream="true" data-controller="wiki" data-action="wiki#updateUrl">MS Dynamics AX ODATA</a> support.</p>

<h2>The following versions of AX are supported for Web Services</h2>
<ul>
<li>MS Dynamics AX 2009</li>
<li>MS Dynamics AX 2012 R1, R2, R3</li>
<li>Microsoft Dynamics 365 for Finance and Operations, Enterprise Edition (AX 2017/2018 - only custom objects)</li>
</ul>
<h2>System requirements</h2>
<ul>
<li>Web Services - you need AIF Web Services for AX installed and available.</li>
</ul>
<ul>
<li>You might need additional licenses from Microsoft - please check your license conditions for this.</li>
</ul>
<h2>Additional Installation</h2>
<p></p><div class="section_header"><div class="line"> <div class="column_blindupdown" data-controller="wiki" data-wiki-target="blindupdown"><a data-turbo="true" data-turbo-stream="true" href="/wiki/installing_the_rapidiconnector?inline=1&amp;parent_page_ids=2035&amp;child_page_id=198"><img class="blindupdown_show" id="show_wiki_2035_subpage_198_info" title="Show information" alt="Show information" src="/assets/gfx/showinfo-dfd75ef684363d1bd0e344be999155542dc15232a93cd61188484b8ca2bd07eb.gif"></a><img id="hide_wiki_2035_subpage_198_info" class="blindupdown_hide" title="Hide information" alt="Hide information" src="/assets/gfx/hideinfo-6e9943c0a2751c6dd2904a66f74a8591ed3d5fcd13413b704851ee06b53c4b51.gif"></div><div>Installing the RapidiConnector</div></div></div><div class="section_detail" id="wiki_2035_subpage_198_info"></div><p></p>
<br>
<h2>Configuration in MS Dynamic AX</h2>
<ol>
<li>You need to expose your MS Dynamics AX Web Services with wsHttpBinding using SecurityMode=Transport and ClientCredentialType=Ntlm.</li>
<li>Expose the Web Services from within MS Dynamics AX - use names like "Customer" and "SalesOrder".</li>
</ol>
<ul>
<li>In AX2009, open the Microsoft Dynamics AX client, select the DAT company and go to the Basic area,<br>Under Setup, expand the <em>Application Integration Framework</em>, select <em>Services</em><br>Find for example the <em>CustCustomerService</em> and set it to Enabled (check the box).<br>To set bindings and security mode, select <em>Configure</em> and a new window will open (Microsoft Service Configuration Editor)<br>under Bindings select the wsHttpBinding - select the Security tab and set Mode=Transport, TransportClientCredential=Ntlm<br>under Services, expand each Service and its <em>Endpoints</em>, select the <em>(Empty Name)</em> and ensure that Binding and BindingConfiguration is set to wsHttpBinding (and NOT to basicHttpBinding !).</li>
<li>In AX2012, open the Microsoft Dynamics AX client, select the DAT company and go to the System administration area,<br>Under Setup, expand the <em>Services and&nbsp;Application Integration Framework</em>, select&nbsp;<em>Inbound</em> ports<br>Create a New Inbound port, name it AifWebService (for example), Adapter: HTTP, Select the URI (you might need to create a WebSite first),<br>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.<br>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.</li>
<li>
<p>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</p>
<ol>
<li>Open "Internet Information Services (IIS) Manager"</li>
<li>Click the "computer name"</li>
<li>Select "Server certificates"</li>
<li>On the right side, click "create self-signed certificate"</li>
<li>Give it a name</li>
</ol></li>
<li>
<p>You also need to add SSL <strong>Bindings to the site:</strong></p>
<ol>
<li>Select the WebSite (e.g. Default Web Site)</li>
<li>On the right side under "Edit side", choose "Bindings..."</li>
<li>Click "Add..." and add HTTPS, 443, *, and select your certificate</li>
<li>You can test using Browse (you might need to enable directory browsing)</li>
</ol></li>
</ul>
<p>After this, you can go ahead and <a href="/wiki/read_design" data-turbo="true" data-turbo-stream="true" data-controller="wiki" data-action="wiki#updateUrl">Read Design</a> and start creating Transfers.</p>

<p><strong>Troubleshooting</strong>: Lots of things can go wrong in this setup, so please follow the above instructions carefully.<br>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).</p>

<p>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&nbsp;<em>Application Integration Framework</em>, select&nbsp;<em>Exceptions</em></p>

<p>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.&nbsp;</p>

<h2>Configuration in Rapidi</h2>
<ol>
<li>Log in to&nbsp;<a href="https://myrapidi.com/login">MyRapidi</a>. Go to 'Connections' and choose the AX WS Connector from the list</li>
<li>The fields under the MS Dynamics AX Web Service Connection are as follows:
<ul>
<li><strong>Code: </strong>The code is automatically created and cannot be edited.</li>
<li><strong>Description:&nbsp;</strong>Enter a text describing this Connection. Example: "Production AX database, cee company".</li>
<li><strong>Authentication Type:&nbsp;</strong>Select the Authentication method to be used with AX Web Services. Only&nbsp;<strong>NTLM&nbsp;</strong>is supported for now.</li>
<li><strong>Server Connect:&nbsp;</strong>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&nbsp;https://server.corp.rapidi.com/MicrosoftDynamicsAXAif50/customerservice.svc (typical for AX2009) or&nbsp;<br>http://server.corp.rapidi.com:90/MicrosoftDynamicsAXAif60/AifTest/xppservice.svc (typical for AX2012).<br><strong>Please note:</strong> 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.</li>
<li><strong>Company:&nbsp;</strong>Enter the name of the AX company here. Example: cee or 100</li>
<li><strong>User ID:&nbsp;</strong>Enter the UserID to access the AX WebService server here.</li>
<li><strong>Password: </strong>Enter the password for your above UserID.</li>
<li><strong>Domain:</strong>&nbsp;Here you enter the windows Domain name that is used by the Web Service Server.</li>
<li><strong>Service List:</strong>&nbsp;AX2009 only: Enter a list of the services that you have exposed and want to Read Design for (separated with #). Example: Customer#SalesOrder&nbsp;</li>
</ul>
</li>
</ol>
<h2>Copy, Test, Activate Changes, and Read Design</h2>
<p></p><div class="section_header"><div class="line"> <div class="column_blindupdown" data-controller="wiki" data-wiki-target="blindupdown"><a data-turbo="true" data-turbo-stream="true" href="/wiki/copy_connection?inline=1&amp;parent_page_ids=2035&amp;child_page_id=3758"><img class="blindupdown_show" id="show_wiki_2035_subpage_3758_info" title="Show information" alt="Show information" src="/assets/gfx/showinfo-dfd75ef684363d1bd0e344be999155542dc15232a93cd61188484b8ca2bd07eb.gif"></a><img id="hide_wiki_2035_subpage_3758_info" class="blindupdown_hide" title="Hide information" alt="Hide information" src="/assets/gfx/hideinfo-6e9943c0a2751c6dd2904a66f74a8591ed3d5fcd13413b704851ee06b53c4b51.gif"></div><div>Copy Connection</div></div></div><div class="section_detail" id="wiki_2035_subpage_3758_info"></div><p></p>
<p></p><div class="section_header"><div class="line"> <div class="column_blindupdown" data-controller="wiki" data-wiki-target="blindupdown"><a data-turbo="true" data-turbo-stream="true" href="/wiki/connection_test?inline=1&amp;parent_page_ids=2035&amp;child_page_id=364"><img class="blindupdown_show" id="show_wiki_2035_subpage_364_info" title="Show information" alt="Show information" src="/assets/gfx/showinfo-dfd75ef684363d1bd0e344be999155542dc15232a93cd61188484b8ca2bd07eb.gif"></a><img id="hide_wiki_2035_subpage_364_info" class="blindupdown_hide" title="Hide information" alt="Hide information" src="/assets/gfx/hideinfo-6e9943c0a2751c6dd2904a66f74a8591ed3d5fcd13413b704851ee06b53c4b51.gif"></div><div>Connection Test</div></div></div><div class="section_detail" id="wiki_2035_subpage_364_info"></div><p></p>
<p></p><div class="section_header"><div class="line"> <div class="column_blindupdown" data-controller="wiki" data-wiki-target="blindupdown"><a data-turbo="true" data-turbo-stream="true" href="/wiki/activate_changes?inline=1&amp;parent_page_ids=2035&amp;child_page_id=1816"><img class="blindupdown_show" id="show_wiki_2035_subpage_1816_info" title="Show information" alt="Show information" src="/assets/gfx/showinfo-dfd75ef684363d1bd0e344be999155542dc15232a93cd61188484b8ca2bd07eb.gif"></a><img id="hide_wiki_2035_subpage_1816_info" class="blindupdown_hide" title="Hide information" alt="Hide information" src="/assets/gfx/hideinfo-6e9943c0a2751c6dd2904a66f74a8591ed3d5fcd13413b704851ee06b53c4b51.gif"></div><div>Activate Changes</div></div></div><div class="section_detail" id="wiki_2035_subpage_1816_info"></div><p></p>
<p></p><div class="section_header"><div class="line"> <div class="column_blindupdown" data-controller="wiki" data-wiki-target="blindupdown"><a data-turbo="true" data-turbo-stream="true" href="/wiki/read_design?inline=1&amp;parent_page_ids=2035&amp;child_page_id=363"><img class="blindupdown_show" id="show_wiki_2035_subpage_363_info" title="Show information" alt="Show information" src="/assets/gfx/showinfo-dfd75ef684363d1bd0e344be999155542dc15232a93cd61188484b8ca2bd07eb.gif"></a><img id="hide_wiki_2035_subpage_363_info" class="blindupdown_hide" title="Hide information" alt="Hide information" src="/assets/gfx/hideinfo-6e9943c0a2751c6dd2904a66f74a8591ed3d5fcd13413b704851ee06b53c4b51.gif"></div><div>Read Design</div></div></div><div class="section_detail" id="wiki_2035_subpage_363_info"></div><p></p>
</template></turbo-stream>

<turbo-stream action="replace" target="meta_description"><template><meta content='MS Dynamics AX Web Services' id='meta_description' name='description'></template></turbo-stream>
<turbo-stream action="replace" target="meta_keywords"><template><meta content='MS Dynamics AX Web Services' id='meta_keywords' name='keywords'></template></turbo-stream>
<turbo-stream action="update" target="meta_title"><template>MS Dynamics AX Web Services - MyRapidi Wiki</template></turbo-stream>
<turbo-stream action="prepend" target="flash"><template></template></turbo-stream>
