users@jersey.java.net

[Jersey] server side media type=multipart/form-data

From: Tomaz Majerhold <tomaz.majerhold_at_arnes.si>
Date: Tue, 4 Oct 2016 16:06:46 +0200

On server side in glassfish4 I'm using jersey-media-multipart:2.10.4.

1) I register MultiPartFeature

package si.arnes.upis.server.basic;

UpisApp extends Application{

  @Override
     public Set<Class<?>> getClasses() {
         final Set<Class<?>> resources = new HashSet<>();
         resources.add(MultiPartFeature.class);

         ...}

}

2) In my web.xml

<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>si.arnes.upis.server.ws;com.fasterxml.jackson.jaxrs.json;org.glassfish.jersey.media.multipart</param-value>

         </init-param>

3) In my resource

@GET
     @Path("{orgRegNumber}/zip")
     @Produces(MediaType.MULTIPART_FORM_DATA)
     public Response getUsersPdfZip(@PathParam("orgRegNumber") String
orgRegNumber){

...

zos.close();

return Response
                 .ok(zos, "multipart/form-data")
                 .header("Content-Disposition", "attachment;
filename=\""+orgRegNumber+"-UsersArnes.zip\"")
                 .build();

}


4) I'm getting error:

-------------------------

Info: 10042016 16:03 INFO UpisInterceptor:65 - END:getOrgPdfsZip
[0.006 seconds] result=OutboundJaxrsResponse{status=200, reason=OK,
hasEntity=true, closed=false, buffered=false}
Severe: MessageBodyWriter not found for media
type=multipart/form-data, type=class java.util.zip.ZipOutputStream,
genericType=class java.util.zip.ZipOutputStream.

--------------------------

What I'm doing wrong?


Regards, Tomaz