views:

1041

answers:

2

When attempting to upload any number of documents, including very small files, seems to succeed- but subsequently redirects to an error page indicating the following:

/_layouts/error.aspx?ErrorText=The%20HTTP%20verb%20POST%20used%20to%20access%20path%20%27%2F%5Fvti%5Fbin%2Fshtml%2Edll%2FSiteCollectionDocuments%2FForms%2FUpload%2Easpx%27%20is%20not%20allowed%2E

The HTTP verb POST used to access path '/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx' is not allowed.

Any ideas as to why HTTP POST would be denied for this operation?

Update:

Navigating directly to /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx gives:

The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.

An invalid character was found in text content. Error processing resource 'http://sitename/... MZ

Error in event log looks like this:

Critical error has occured but the exception object has already been cleared

Current Url: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
User Login: xxxxxxx
User is Authenticated: True

Performance Counters
% Processor Time Total: 0
Processor Queue Length: 1
ASP.NET Request Queued Total: 1
.NET CLR Exceptions, # of Exceps Thrown: 55

PATH_INFO: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
PATH_TRANSLATED: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\isapi\shtml.dll
+1  A: 

The supported methods of uploading documents to SharePoint are:

Are you able to use one of these methods? If not can you please edit your question with more information about why and some sample code?

A guess at why the HTTP POST method isn't working is probably because it's for internal SharePoint use only.

Alex Angas
Thanks for the response Alex, However this is the OOTB multiple upload functionality that ships with Sharepoint.
Chris Ballance
Does using one of the 'official' methods multiple times over give you what you need however? Sorry, not following why using HTTP POST is needed and curious ;-)
Alex Angas
HTTP POST is used by the OOTB upload.aspx file to send multiple files. Nothing is customized at all except for some site configuration.
Chris Ballance
+1  A: 

The solution turned out to be removing the wildcard application mapping in IIS.

The url which receives the document upload via HTTP POST /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx was being incorrectly mapped to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll and thus failing.

Update:

This solution tended to break other functionality, such as document deletion, and was scrapped during testing.

As it turns out, there was an HTTP module that was causing this url to be processed incorrectly. I added a bypass for /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx and this solved the issue with no side effects.

Chris Ballance
Hi Chris. Did you ever get multiple upload to work for a List as attachment? I'm trying to figure out the best means of accomplishing this. Thanks.
AboutDev
Yes, it works great now. We had an HTTP module that was intercepting OOTB requests for documents and unnecessarily mucking with them. I added a bypass in this module specifically for /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx and everythign works great now.
Chris Ballance