Sharepoint - multipla Carica documento - HTTP 'post' verbo non consentito
-
12-09-2019 - |
Domanda
Quando si tenta di caricare un numero illimitato di documenti, tra cui file molto piccoli, sembra succeed- ma in seguito reindirizza ad una pagina di errore che indica quanto segue:
/_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
Il POST verbo HTTP utilizzato per accedere percorso '/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx' non è consentito.
Tutte le idee sul perché HTTP POST sarebbe negato per questa operazione?
Aggiornamento:
La navigazione direttamente a /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx dà:
La pagina XML non può essere visualizzata Impossibile visualizzare input XML usando fogli di stile. Si prega di correggere l'errore e quindi fare clic sul pulsante Aggiorna o riprovare più tardi.
Un carattere non valido nel contenuto di testo. Errore di risorse di elaborazione ' http: // sitename / ... MZ
Errore nel registro degli eventi si presenta così:
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
Soluzione
La soluzione si è rivelata essere la rimozione del mapping di applicazioni jolly in IIS.
L'url che riceve il caricamento del documento tramite HTTP POST /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
veniva erroneamente mappato C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
e, quindi, in mancanza.
Aggiornamento:
Questa soluzione tendeva a rompere altre funzionalità, come ad esempio eliminazione dei documenti, ed è stato demolito durante i test.
Come si è visto, c'era un modulo HTTP che stava causando questo URL da elaborare in modo errato. Ho aggiunto un bypass per /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
e questo risolto il problema senza effetti collaterali.
Altri suggerimenti
I metodi supportate di caricamento di documenti di SharePoint sono:
-
L'utilizzo di servizi web ( vasta esempio qui )
-
Utilizzo di RPC ( esempio qui )
-
Utilizzando il modello di oggetti ( esempio qui )
Siete in grado di utilizzare uno di questi metodi? Se non si può per favore modificare la tua domanda con ulteriori informazioni sui motivi e alcuni esempi di codice?
Un indovinare il motivo per cui il metodo HTTP POST non funziona è probabilmente perché è solo per uso interno SharePoint.