I was involved in a SharePoint 2013 On-Premise Platform setup. After our successful installation we faced an issue as stated below.
We were not able to publish any InfoPath form to SharePoint site created in the 2013 environment, in spite of the site being accessible from the browser. When we try to publish the form we get the following error “The following url is not valid”. This is a quite common and annoying error message that you get when it comes to InfoPath publishing.
We got a HTTP 404 error when we analyzed the fiddler trace, while the InfoPath form is published to SharePoint.
Options attempted for Fix
After referring so many blogs, I patiently tried the following steps to fix this problem. But nothing worked.
• Checked if it has a root site collection. (Make sure the SharePoint application that contains the site you are publishing to, has a site in the root)
• Stopped the “System Event Notification” service
• Added the verb entry in the http Handler tag (Make sure that the <remove verb=”*” path=”*.asmx”/> is just under <httpHandlers> tag)
• Added a host entry for the URL and restarted the server
• Delete all sub keys of “Server Cache” key, they are in form of _http://xxxxxxx
• This seems to be the problem when your site is on a non-default port, Switched to port 80, still same error.
Upon troubleshooting this issue i found that InfoPath client was not able to find the root (/) site collection and it threw a HTTP 404 error in Fiddler. We had to add the HTTP verbs (GET, POST, PUT, HEAD, etc.) explicitly in our IIS Server -> request filtering module which solved the particular issue that I was facing
After adding the verbs, verify the new verbs are in config file C:\Windows\System32\inetsrv\config\applicationHost.config.
Verbs will be under /configuration/system.webServer/security/request Filtering/verbs section.
In a nutshell the PUT request to the site was failing, for which i had to add the verbs.