Summary:

The SData application needs to have a wildcard application mapping added so that arbitrary requests can be picked up by the ManagedFusion rewriter. The wildcard mapping redirects all requests to /sdata/ to the CRMRewriter application.

Symptoms:

All Tomcat features (interactive dashboard, Apache POI exports) not working.

Error 404, page not found from IIS on browsing to schema URL (http://<webserver>/sdata/<crm instance>j/sagecrm/-/$schema).

Browsing to the SData URL directly through Tomcat (http://<webserver>:10009/<crm instance>j/sagecrm/-/$schema) shows the SData schema correctly.

Browsing directly to the SData test page (http://<webserver>/sdata/Default.aspx) via IIS shows the schema correctly.

Requests to the test page are the only requests via IIS that are recorded in the rewriter.log.

Resolution:

IIS 6:
Add a wildcard application mapping pointing to your currently selected .NET version under your SData application. Go to Properties -> Application Settings -> Configuration -> Mappings. The DLL you'll need to select for .NET v2.0.50727 is located in %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll. Make sure that you don't select the "Verify that file exists" option.

IIS7:
Very similar. The application mapping can be added under the Handler Mappings screen for your application. Select the "Add Wildcard Script Map" option from the Actions menu on the right. You'd normally call it something like ASP.NET-ISAPI-2.0-Wildcard.

Note:

This issue can also be caused by some intrusion detection products. IBM RealSecure Server Sensor 7.0 adds its own widcard handler mapping to the SDATA application, resulting in requests never being proxied to the Tomcat webapps. Removing the wildcard handler for this product and adding a generic handler for aspnet_isapi.dll resolved the issue in this instance.