IIS WebDAV
When hosting Babel Licensing Service on Internet Information Services (IIS), you may encounter issues with API callbacks if WebDAV is enabled on your server. This document explains why these conflicts occur and provides configuration steps to resolve them.
Understanding the WebDAV Conflict
WebDAV (Web Distributed Authoring and Versioning) is an extension of HTTP that enables collaborative editing and file management on web servers. When enabled in IIS, WebDAV intercepts certain HTTP methods, including:
PUT
DELETE
PROPFIND
PROPPATCH
MKCOL
COPY
MOVE
LOCK
UNLOCK
Babel Licensing Service uses a RESTful API approach that relies on various HTTP methods, particularly PUT and DELETE. When WebDAV is enabled, it processes these requests before they can reach the Babel Licensing Service application, causing API callbacks to fail.
Symptoms of WebDAV Interference
You may be experiencing WebDAV conflicts if:
API callbacks fail with 405 (Method Not Allowed) errors
PUT and DELETE operations to the API result in unexpected responses
You're unable to save or update data through the Babel Licensing Service
Other API operations work correctly, but certain update and delete operations fail
Resolving WebDAV Conflicts
To ensure Babel Licensing Service functions correctly in IIS, you must disable WebDAV for the application. Add or modify your web.config
file with the following configuration:
Key Configuration Elements
Removing the WebDAV Module:
This prevents WebDAV from intercepting HTTP requests at the module level.
Removing the WebDAV Handler:
This ensures the ASP.NET Core handler receives all HTTP requests regardless of the HTTP verb used.
Web.config Placement
Ensure this web.config
file is placed in the root directory of your Babel Licensing Service application.
Site-Specific vs. Global Configuration
The configuration above disables WebDAV only for the Babel Licensing Service application. If you need WebDAV functionality for other applications on the same server, this approach allows you to selectively disable it only where needed.
If you prefer to disable WebDAV globally on your IIS server, you can do so through the IIS Manager:
Open IIS Manager
Select your server in the Connections panel
Double-click on "WebDAV Authoring Rules"
In the Actions panel, click "Disable WebDAV"
Verifying the Configuration
After applying the configuration changes:
Restart the application pool for Babel Licensing Service
Test API callbacks that previously failed
Verify that data saving and updating functions work correctly
Troubleshooting
If issues persist after implementing these changes:
Ensure the application pool has restarted
Check IIS logs for any error messages
Verify the web.config syntax is correct
Confirm the WebDAV module is actually installed on your server (the removal directive is still safe even if it's not)
Examine application logs for any API-related errors
For additional assistance, please contact Babel Licensing Service support with your IIS server version and configuration details.
Last updated