uploading a document

74 views
Skip to first unread message

andrew atkinson

unread,
Jun 8, 2015, 9:06:22 AM6/8/15
to fab...@googlegroups.com
I am trying to upload documents to our server, I have annotated my interface method as so
@POST
@Path("/document")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile( @FormDataParam("file") InputStream uploadedInputStream,
                            @FormDataParam("file") FormDataContentDisposition fileDetail);

However when I go to deploy under fabric I get an exception. Do I have to make fabric3 aware of @FormDataParam somehow, and if so how? Or do I need to do this another way. Thank you.
[[FATAL] No injection source found for a parameter of type public abstract javax
.ws.rs.core.Response com.autotec.controller.DocumentController.uploadFile(java.i
o.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at index 0.
; source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], p
roducedTypes=[text/html], suspended=false, suspendTimeout=0, suspendTimeoutUnit=
MILLISECONDS, invocable=Invocable{handler=InstanceBasedMethodHandler{handler=org
.fabric3.binding.rs.runtime.container.F3ResourceHandler@5c064de1, handlerClass=c
lass org.fabric3.binding.rs.runtime.container.F3ResourceHandler}, definitionMeth
od=public abstract javax.ws.rs.core.Response com.autotec.controller.DocumentCont
roller.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContent
Disposition), parameters=[Parameter [type=class java.io.InputStream, source=file
, defaultValue=null], Parameter [type=class com.sun.jersey.core.header.FormDataC
ontentDisposition, source=file, defaultValue=null]], responseType=class javax.ws
.rs.core.Response}, nameBindings=[]}']
        at org.glassfish.jersey.server.ApplicationHandler.initialize(Application
Handler.java:467)
        at org.glassfish.jersey.server.ApplicationHandler.access$500(Application
Handler.java:163)
        at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandl
er.java:323)
        at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
        at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.processWithException(Errors.java
:286)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHand
ler.java:320)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHand
ler.java:285)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:31
1)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.j
ava:170)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.j
ava:358)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.fabric3.binding.rs.runtime.container.RsContainer.reload(RsContain
er.java:127)

andrew atkinson

unread,
Jun 9, 2015, 9:36:09 AM6/9/15
to fab...@googlegroups.com
Someone suggested I swap out the Jersey Multipart 1.x with 2.x which seemed to make sense. This didn't solve my problem, I get the same exception. My problem seems to be I need to register the classes with fabric3. I don't know how to do this, where would I put this code
Reply all
Reply to author
Forward
0 new messages