2011-12-28 9 views
8

He estado tratando de entender cómo solucionar este error:dependencia que falta por un método cuando se hace una carga de archivos resto servicio web

 
SEVERE: Missing dependency for method public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 0 
SEVERE: Missing dependency for method public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 1 
SEVERE: Method, public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition), annotated with POST of resource, class com.myrest.FileService, is not recognized as valid resource method. 

estoy trabajando con un resto servicio web basado en Apache Jersey y haciendo una subida Servicio.

¿Alguien ha encontrado este error antes?

estoy recibiendo este error para este código:

@POST 
    @Path("/upload{path:.*}") 
    @Consumes("multipart/form-data") 
    @Produces("text/plain") 
    public String uploadFile(
      @FormDataParam("file") File file, 
      @FormDataParam("file") FormDataContentDisposition fileDetail) { 

     String fileLocation = "/files/" + fileDetail.getFileName(); 
     System.out.println("Copying file to : " + fileLocation); 
     return "1"; 
    } 

Respuesta

2

La última línea del mensaje de error que me hace pensar que tiene un archivo JAR que falta.

class com.myrest.FileService, is not recognized as valid resource method. 

Pero aparte de eso no he visto @FormDataParam está unido a un java.io.File antes, no estoy seguro si el marco se puede deserializar a ese objeto. ¿Has intentado deserializar a java.io.InputStream en su lugar? Además, si está utilizando Maven para compilar, verifique su POM para todas las dependencias requeridas.

+0

El registro de errores que recibo es similar a esto: https://gist.github.com/922072 – xybrek

21

En mi caso, el problema eran diferentes versiones de biblioteca de jersey-bundle y com.sun.jersey.contribs; después de configurar ambos en la misma versión, todo funcionó.

+0

Tuve el mismo problema con las diferentes versiones ... – Dennis

+0

Lo mismo aquí, tuve una versión incorrecta de la multiparte . ¡¡muchas gracias!! – user1240792

+0

Lo mismo para mí ........... gran +1 –

Cuestiones relacionadas