I forgot to mention that only my constructor code is called.  The 
translate method never is and there are no error messages in the server log.
Bernie
On 10/20/15 7:56 AM, Bernie Harris wrote:
> Since upgrading to GlassFish 4.1.1 (Jersey 2.21) from GlassFish 4.1, a 
> web service involving multipart form data no longer works.  My other 
> web services (not using multipart form data) are working fine with the 
> new release.  The failing service looks like this
>     @POST
>     @Path("/translator")
>     @Consumes(MediaType.MULTIPART_FORM_DATA)
>     @Produces({MediaType.APPLICATION_XML,
>                APPLICATION_X_CDFML_XML,
>                MediaType.APPLICATION_JSON,
>                APPLICATION_X_CDF_JSON,
>                APPLICATION_X_CDF,
>                APPLICATION_X_NETCDF,
>                APPLICATION_X_CDFSKT})
>     public Response translate(
>         @FormDataParam("file") InputStream fileInputStream,
>         @FormDataParam("file") FormDataContentDisposition
>             contentDisposition,
>         @FormDataParam("data") CDF cdfml,
>         @FormDataParam("acceptMediaType") String acceptableMedia,
>         @Context UriInfo uriInfo,
>         @Context HttpHeaders headers,
>         @Context HttpServletRequest servletRequest)
>         throws WebApplicationException {
>
> And here is a trace
>
> $ curl -i -H "X-Jersey-Tracing-Threshold: VERBOSE" -H "Accept: 
> application/xml" -F file=_at_fast_hr_dcb_00000000000000_v01.cdf 
> http://localhost:8084/WS/file/1/translator/
> HTTP/1.1 100 Continue
>
> HTTP/1.1 400 Bad Request
> X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source 
> Edition  4.1.1  Java/Oracle Corporation/1.8)
> Date: Tue, 20 Oct 2015 11:15:26 GMT
> X-Jersey-Tracing-000: START       [ ---- /  ---- ms |  ---- %] 
> baseUri=[http://localhost:8084/WS/file/1/] 
> requestUri=[http://localhost:8084/WS/file/1/translator/] method=[POST] 
> authScheme=[n/a] accept=[application/xml] accept-encoding=n/a 
> accept-charset=n/a accept-language=n/a 
> content-type=[multipart/form-data; 
> boundary=----------------------------646108391eaf] 
> content-length=[106752]
> X-Jersey-Tracing-001: START       [ ---- /  0.04 ms |  ---- %] Other 
> request headers: user-agent=[curl/7.19.7 (x86_64-redhat-linux-gnu) 
> libcurl/7.19.7 NSS/3.18 Basic ECC zlib/1.2.3 libidn/1.18 
> libssh2/1.4.2] host=[localhost:8084] 
> x-jersey-tracing-threshold=[VERBOSE] expect=[100-continue]
> X-Jersey-Tracing-002: PRE-MATCH   [ 0.00 /  0.13 ms |  0.01 %] 
> PreMatchRequest summary: 0 filters
> X-Jersey-Tracing-003: MATCH       [ ---- /  0.15 ms |  ---- %] 
> Matching path [/translator/]
> X-Jersey-Tracing-004: MATCH       [ ---- /  0.16 ms |  ---- %] Pattern 
> [/application\.wadl(/)?] is NOT matched
> X-Jersey-Tracing-005: MATCH       [ ---- /  0.16 ms |  ---- %] Pattern 
> [/application\.wadl(/.*)?] is NOT matched
> X-Jersey-Tracing-006: MATCH       [ ---- /  0.17 ms |  ---- %] Pattern 
> [(/.*)?] IS selected
> X-Jersey-Tracing-007: MATCH       [ ---- /  0.18 ms |  ---- %] 
> Matching path [/translator/]
> X-Jersey-Tracing-008: MATCH       [ ---- /  0.19 ms |  ---- %] Pattern 
> [/translator(/)?] IS selected
> X-Jersey-Tracing-009: MATCH       [24.39 / 24.54 ms | 64.13 %] 
> RequestMatching summary
> X-Jersey-Tracing-010: REQ-FILTER  [ 0.00 / 24.56 ms |  0.00 %] Request 
> summary: 0 filters
> X-Jersey-Tracing-011: RI          [ 0.00 / 24.66 ms |  0.01 %] 
> [org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor 
> @4e852194 #10] BEFORE context.proceed()
> X-Jersey-Tracing-012: MBR         [ ---- / 24.71 ms |  ---- %] Find 
> MBR for type=[org.glassfish.jersey.media.multipart.FormDataMultiPart] 
> genericType=[org.glassfish.jersey.media.multipart.FormDataMultiPart] 
> mediaType=[multipart/form-data;boundary=----------------------------646108391eaf] 
> annotations=[]
> X-Jersey-Tracing-013: MBR         [ ---- / 24.74 ms |  ---- %] 
> [org.glassfish.jersey.media.multipart.internal.MultiPartReaderServerSide 
> @486f1bc] IS readable
> X-Jersey-Tracing-014: MBR         [ ---- / 24.75 ms |  ---- %] 
> [com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider @112559f7] 
> is skipped
> X-Jersey-Tracing-015: MBR         [ ---- / 24.75 ms |  ---- %] 
> [org.glassfish.jersey.jaxb.internal.XmlCollectionJaxbProvider$General 
> @50bad03f] is skipped
> X-Jersey-Tracing-016: MBR         [ ---- / 24.76 ms |  ---- %] 
> [org.glassfish.jersey.jaxb.internal.XmlRootElementJaxbProvider$General 
> @50fcc835] is skipped
> X-Jersey-Tracing-017: MBR         [ ---- / 24.76 ms |  ---- %] 
> [org.glassfish.jersey.jaxb.internal.XmlRootObjectJaxbProvider$General 
> @1e14ccb5] is skipped
> X-Jersey-Tracing-018: MBR         [11.57 / 36.34 ms | 30.42 %] 
> ReadFrom by 
> [org.glassfish.jersey.media.multipart.internal.MultiPartReaderServerSide 
> @486f1bc]
> X-Jersey-Tracing-019: RI          [ 0.00 / 36.36 ms |  0.00 %] 
> [org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor 
> @4e852194 #10] AFTER context.proceed()
> X-Jersey-Tracing-020: RI          [11.72 / 36.36 ms | 30.80 %] 
> ReadFrom summary: 1 interceptors
> X-Jersey-Tracing-021: INVOKE      [ ---- / 37.88 ms |  ---- %] 
> Response: null
> X-Jersey-Tracing-022: RESP-FILTER [ 0.00 / 38.02 ms |  0.01 %] Filter 
> by [gov.nasa.gsfc.spdf.file.translator.CorsResponseFilter @3e6bf902]
> X-Jersey-Tracing-023: RESP-FILTER [ 0.02 / 38.02 ms |  0.05 %] 
> Response summary: 1 filters
> X-Jersey-Tracing-024: FINISHED    [ ---- / 38.04 ms |  ---- %] 
> Response status: 400/CLIENT_ERROR|Bad Request
> Content-Language:
> Content-Type: text/html
> Connection: close
> Transfer-Encoding: chunked
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html 
> xmlns="http://www.w3.org/1999/xhtml"><head><title>Error 
> report</title><style type="text/css"><!--H1 
> {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} 
> H2 
> {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} 
> H3 
> {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} 
> BODY 
> {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} 
> B 
> {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} 
> P 
> {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A 
> {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP 
> Status 400 - Bad Request</h1><hr/><p><b>type</b> Status 
> report</p><p><b>message</b>Bad Request</p><p><b>description</b>The 
> request sent by the client was syntactically 
> incorrect.</p><hr/></body></html>
>
> Has something changed that requires me to change my code or is this a 
> problem with jersey?  Thanks for any insight.
>
> Bernie
>
>
>