We recently came across an issue where AX 2009 Workflow extensions were successfully installed on a system running 64-bit Windows Server 2008 R2, and the workflow virtual directory successfully created under the Default Web Site in IIS 7.5. However when we try to Validate the workflow URL (e.g. http://myworkflowserver:80/MicrosoftDynamicsAXWorkflow50/AxWorkItem.asmx in the AX Client (AX 2009 Client -> Administration -> Setup -> Workflow infrastructure configuration wizard) we get the following error:
The request failed with HTTP status 405: Method Not Allowed.
As a test to ensure that IIS is able to server a page, we were able to manually browse and view the AXWorkItem.asmx file (http://myworkflowserver:80/MicrosoftDynamicsAXWorkflow50/AxWorkItem.asmx).
We verified that the AOS Service account had NTFS file security access to the Workflow web files and folders (These were installed under "C:\Program Files\Microsoft Dynamics AX\50\Workflow")
We verified that the MicrosoftDynamicsAXWorkflow50 application pool identity was indeed set to run as the Business Connector Proxy User account (as specified in AX 2009 Client -> Administration -> Setup -> Security -> System service accounts)
We verified that the Workflow System and Execution accounts were specified (AX 2009 Client -> Administration -> Setup -> Security -> System service accounts)
We resolved the issue by changing the property value of "Enable 32-Bit Applications" from False to True under the "Advanced Settings" for the MicrosoftDynamicsAXWorkflow50 application pool in IIS Manager
- Log in as a local administrator on the Windows Server 2008 R2, and run Start -> All Programs -> Administrative Tools -> Internet Information Services (IIS) Manager
- In the left-hand pane, click on Application Pools, and in the right-hand pane select MicrosoftDynamicsAXWorkflow50 application pool
- Click on "Advanced Settings..." in the Task Pane
- In Advanced Settings window, under the "(General) section, change the property value for Enable 32-Bit Applications to True and click on OK
- Now you should be able to successfully validate and use the workflow web services. We get "Workflow runtime URL is valid" displayed in the InfoLog window.
Another way to solve the problem without enabling 32-bit Application to true is to change the link for ISAPI filters. It happens that on machines where the problem occured the Handler Mappings for aspne_isapi.dll were pointing to 32 bit library.
- In the left-hand pane, click on Sites, and then click on MicrosoftDynamicsAXWorkflow50 web application
- From the right-pane in IIS section double click Handler Mappings
- Select WebServiceHandlerFactory-ISAPI-2.0 and double click it. Notice that the patch for aspnet_isapi.dll is ...\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
- Change the path to 64 bit library which is located in ...\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
If you change the property value of "Enable 32-Bit Applications" from False to True then aspnet_isapi.dll should be also 32-bit library, if you do not change it then you need to use 64 bit version of aspnet_isapi.dll