Have you get same issue with: MultipartBody?
Something like:
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response upload(MultipartBody body,
@PathParam("idProcesso") Long idProcesso {}

So you can get the file from: body.getAllAttachments()  or
body.getAttachment("anexo").
I need to try reproduce it locally or see if we have some sample on CXF
side. But, can you try with MultipartBody?

Em ter, 26 de mar de 2019 às 11:31, Ivan Junckes Filho <
ivanjunc...@gmail.com> escreveu:

> *CHROME REQUEST:*
>
>    1. Request URL:
>       http://localhost:8080/crvirtualdemandas/api/processos/anexo/upload/1
>       2. Request Method:
>       POST
>       3. Status Code:
>       415
>       4. Remote Address:
>       [::1]:8080
>       5. Referrer Policy:
>       no-referrer-when-downgrade
>       1. Response Headersview source
>       1. Access-Control-Allow-Credentials:
>       true
>       2. Access-Control-Allow-Origin:
>       http://localhost:8080
>       3. Access-Control-Expose-Headers:
>       Access-Control-Allow-Origin,Access-Control-Allow-Credentials
>       4. Content-Length:
>       0
>       5. Date:
>       Tue, 26 Mar 2019 14:29:27 GMT
>       6. Server:
>       Apache TomEE
>       7. vary:
>       Origin
>       2. Request Headersview source
>       1. Accept:
>       application/json
>       2. Accept-Encoding:
>       gzip, deflate, br
>       3. Accept-Language:
>       en-US,en;q=0.9,pt;q=0.8
>       4. Connection:
>       keep-alive
>       5. Content-Length:
>       213
>       6. Content-Transfer-Encoding:
>       binary
>       7. Content-Type:
>       multipart/form-data; boundary=----WebKitFormBoundaryty8x9JCIl3wCHnkM
>       8. Cookie:
>       Idea-4c26cc00=059851e2-1747-4e5a-8b39-5a15911d851b
>       9. DNT:
>       1
>       10. Host:
>       localhost:8080
>       11. Origin:
>       http://localhost:8080
>       12. Referer:
>       http://localhost:8080/crvirtual_demandas/upload_test.html
>       13. User-Agent:
>       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
>       Gecko) Chrome/70.0.3538.102 Safari/537.36
>       14. X-Requested-With:
>       XMLHttpRequest
>       3. Form Dataview sourceview URL encoded
>       1. anexo:
>       (binary)
>
>
>
>
> *LOGS*
>
> 26-Mar-2019 10:58:10.290 SEVERE [http-nio-8080-exec-40]
> org.apache.cxf.jaxrs.utils.JAXRSUtils.logMessageHandlerProblem No message
> body reader has been found for class
> org.apache.cxf.jaxrs.ext.multipart.Attachment, ContentType:
> multipart/form-data;boundary=----WebKitFormBoundaryDsJ1PGRCubchSS8G
> 26-Mar-2019 10:58:10.297 WARNING [http-nio-8080-exec-40]
> org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper.toResponse
> javax.ws.rs.WebApplicationException: HTTP 415 Unsupported Media Type
> at
>
> org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1370)
> at
>
> org.apache.cxf.jaxrs.utils.JAXRSUtils.processRequestBodyParameter(JAXRSUtils.java:865)
> at
>
> org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:810)
> at
>
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:214)
> at
>
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:78)
> at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> at
>
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at
>
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
> at
>
> org.apache.openejb.server.cxf.rs.CxfRsHttpListener.doInvoke(CxfRsHttpListener.java:258)
> at
>
> org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:99)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
>
> br.com.gbrsistemas.crvirtual.authentication.jwt.JwtFilter.doFilter(JwtFilter.java:35)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
>
> br.com.gbrsistemas.crvirtual.authentication.signature.SignatureFilter.doFilter(SignatureFilter.java:47)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:352)
> at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:171)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
>
> org.apache.geronimo.microprofile.opentracing.microprofile.server.OpenTracingFilter.doFilter(OpenTracingFilter.java:126)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.tomee.microprofile.jwt.MPJWTFilter.doFilter(MPJWTFilter.java:76)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
> at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
> at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
> at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> at
>
> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97)
> at
>
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
> at
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
> at
>
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
> at
>
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:770)
> at
> org.apache.tomcat.util.net
> .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
> at
> org.apache.tomcat.util.net
> .SocketProcessorBase.run(SocketProcessorBase.java:49)
> at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at
>
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:748)
>
> 26-Mar-2019 10:58:10.304 INFO [http-nio-8080-exec-40]
>
> org.apache.geronimo.microprofile.opentracing.microprofile.zipkin.ZipkinLogger.onZipkinSpan
>
> [{"annotations":[{"timestamp":1553608690289000,"value":"sr"},{"timestamp":1553608690299000,"value":"ss"}],"binaryAnnotations":[{"key":"http.status_code","type":3,"value":415},{"key":"component","type":6,"value":"jaxrs"},{"key":"span.kind","type":6,"value":"server"},{"key":"http.url","type":6,"value":"
> http://localhost:8080/crvirtualdemandas/api/processos/anexo/upload/1
>
> "},{"key":"http.method","type":6,"value":"POST"}],"duration":10000,"id":22,"kind":"SERVER","localEndpoint":{"ipv4":"127.0.0.1","port":8080,"serviceName":"ivan-Inspiron-5457_5557"},"name":"POST:br.com.gbrsistemas.crvirtual.demanda.processo.ProcessoFiscalizacaoAnexoService.upload","parentId":0,"tags":{"http.status_code":"415","component":"jaxrs","http.url":"
> http://localhost:8080/crvirtualdemandas/api/processos/anexo/upload/1
> ","http.method":"POST"},"timestamp":1553608690289000,"traceId":21}]
>
> *CODE*
>
> @POST
> @Path("upload/{idProcesso}")
> @Produces(MediaType.APPLICATION_JSON)
> @Consumes(MediaType.MULTIPART_FORM_DATA)
> public Response upload(@Multipart(value = "anexo", type =
> MediaType.APPLICATION_OCTET_STREAM) Attachment anexo,
> @PathParam("idProcesso") Long idProcesso){}
>
>
>
> On Tue, Mar 26, 2019 at 11:27 AM Daniel Cunha <daniels...@apache.org>
> wrote:
>
> > Can you post your stacktrace?
> >
> > Em ter, 26 de mar de 2019 às 11:20, Ivan Junckes Filho <
> > ivanjunc...@gmail.com> escreveu:
> >
> > > Hey guys, I am getting this issue while uploading a file.
> > >
> > > Anyone know why this is happening?
> > >
> > >
> >
> https://stackoverflow.com/questions/45075798/cxf-no-message-body-reader-has-been-found-for-class-attachment
> > >
> >
> >
> > --
> > Daniel "soro" Cunha
> > https://twitter.com/dvlc_
> >
>


-- 
Daniel "soro" Cunha
https://twitter.com/dvlc_

Reply via email to