I get the following error:
Apr 09, 2013 12:24:26 PM com.sun.jersey.spi.inject.Errors processErrorMessages SEVERE: The following errors and warnings have been detected with resource and/or provider classes: SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.package.ImportService.specifyLocalFile(java.lang.String,java.lang.String,java.lang.String,java.lang.String) at parameter at index 0 SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.package.ImportService.specifyLocalFile(java.lang.String,java.lang.String,java.lang.String,java.lang.String) at parameter at index 1 SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.package.ImportService.specifyLocalFile(java.lang.String,java.lang.String,java.lang.String,java.lang.String) at parameter at index 2 SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.package.ImportService.specifyLocalFile(java.lang.String,java.lang.String,java.lang.String,java.lang.String) at parameter at index 3 SEVERE: Method, public javax.ws.rs.core.Response com.package.ImportService.specifyLocalFile(java.lang.String,java.lang.String,java.lang.String,java.lang.String), annotated with POST of resource, class com.package.ImportService, is not recognized as valid resource method.
I have a previously working POST method that accepts Multipart data (file upload), and then some other String data fields from the form presented, here is the code:
@POST @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile( @FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail, @FormDataParam("param1") String param1, @FormDataParam("param2") String param2, @FormDataParam("param3") String param3) { .... .... return Response.status(200).entity(getEntity()).build(); }
The error seems to be related to how form parameters are interpreted by Jersey. here's the code failure:
@POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Path("/local") public Response specifyLocalFile( @FormDataParam("file") String fullFilePath, @FormDataParam("param1") String param1, @FormDataParam("param2") String param2, @FormDataParam("param3") String param3) { .... .... return Response.status(200).entity(getEntity()).build(); }