.net - play - error 409 tomcat
¿Razones para un error 409/Conflict HTTP al cargar un archivo a sharepoint usando un.NET WebRequest? (5)
Tengo un método que utiliza un WebRequest para cargar un archivo a una lista / carpeta de sharepoint 2010, utilizando una solicitud PUT, con el Encabezado de sobrescritura establecido en T (sobrescribir).
Cuando se cargan varios archivos (el método se llama varias veces), algunas solicitudes fallan con un error 409 Conflict HTTP.
He buscado en Google, y parece que la razón más común es tratar de afectar / actualizar un archivo que no existe (como configurar la URL de solicitud a una ruta sin un nombre de archivo). Sin embargo, este no es el caso. En caso de que el conflicto tuviera algo que ver con el archivo ya existente, agregué un código para eliminar físicamente el archivo antes de cargarlo, y todavía estoy recibiendo algunos 409.
¿Alguien ha recibido este tipo de error? En caso afirmativo, ¿puede decirme cómo lo solucionó y cuál fue la causa raíz? Cualquier ayuda es muy apreciada. Gracias
Como no se publicaron respuestas, encontré lo siguiente here :
El servidor web (que ejecuta el sitio web) considera que la solicitud enviada por el cliente (por ejemplo, su navegador web o nuestro robot CheckUpDown) no se puede completar porque entra en conflicto con alguna regla ya establecida. Por ejemplo, puede obtener un error 409 si intenta cargar un archivo en el servidor web que es más antiguo que el que ya existe, lo que resulta en un conflicto de control de versión.
Alguien en una pregunta similar aquí en , dijo que la respuesta era:
He tenido este problema cuando hacía referencia a la URL de la biblioteca de documentos y no al archivo de destino.
es decir, intente
http://server name/document library name/new file name.doc
Sin embargo, estoy 100% seguro de que este no era mi caso, ya que revisé la propiedad URI de WebRequest varias veces y la URI estaba completa con el nombre del archivo, y todas las carpetas en la ruta existían en el sitio de sharepoint.
De todos modos, espero que esto ayude a alguien.
Encontré 2 cosas que vale la pena mencionar mientras subo archivos usando webdav y una solicitud web http. Primero, para el proveedor que estaba usando, tuve que adjuntar el nombre de archivo al final de la URL del proveedor. Tenía que añadir el número de puerto en la url. Y también puse el método de solicitud en PUT en lugar de POST.
ejemplo:
string webdavUrl = "https://localhost:443/downloads/test.pdf";
request.Method = "PUT";
Encontré un problema similar al cargar un archivo devuelto 409.
Además de los problemas mencionados anteriormente, también puede ocurrir debido a restricciones de tamaño de archivo para POST en el lado del servidor. Por ejemplo, Tomcat (servidor web java) tiene un límite de tamaño POST de 2 MB por defecto.
Recibí este error cuando intenté crear la carpeta http://localhost:8080/repository/default/parent/newFolder cuando http://localhost:8080/repository/default/parent no existía.
También estamos recibiendo el mismo error mientras intentamos acceder a un mismo recurso en milisegundos. Al igual que si trato de POST
algunos datos a www.abc.com/blog
y con en milisegundos, otra solicitud también irá para el mismo recurso, es decir, www.abc.com/blog
del mismo usuario. Así que le dará el error 409
.