I’ll try but these days I'm very busy…. Best regards, Alex soto
> On Dec 1, 2020, at 8:52 AM, Francois Papon <[email protected]> > wrote: > > Hi Alex, > > Any chances to have a sample project to share on github? > > regards, > > François > [email protected] <mailto:[email protected]> > Le 01/12/2020 à 14:50, Alex Soto a écrit : >> No problem, thanks. >> >> I think it will help others to have a working example of a File Upload using >> pure OSGi JAX-RS Whiteboard Specification, all the samples I have found do >> not go there. >> >> Best regards, >> Alex soto >> >> >> >> >>> On Dec 1, 2020, at 8:43 AM, Jean-Baptiste Onofre <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Thanks for the update. >>> >>> I’m pretty busy with ActiveMQ, Decanter, Camel and Karaf5 PoC, but I will >>> take a look tomorrow. >>> >>> Regards >>> JB >>> >>>> Le 1 déc. 2020 à 14:29, Alex Soto <[email protected] >>>> <mailto:[email protected]>> a écrit : >>>> >>>> Hi JB, >>>> >>>> Yes, Aries JAXRS 1.0.10. >>>> I suppose it is PAX-WEB, or whatever the default is for Karaf 4.3.0. >>>> >>>> The class: >>>> >>>> import javax.servlet.ServletException; >>>> import javax.servlet.annotation.MultipartConfig; >>>> import javax.servlet.http.HttpServletRequest; >>>> import javax.servlet.http.Part; >>>> import javax.ws.rs.Consumes; >>>> import javax.ws.rs.DELETE; >>>> import javax.ws.rs.GET; >>>> import javax.ws.rs.PATCH; >>>> import javax.ws.rs.POST; >>>> import javax.ws.rs.Path; >>>> import javax.ws.rs.PathParam; >>>> import javax.ws.rs.Produces; >>>> import javax.ws.rs.core.Context; >>>> import javax.ws.rs.core.MediaType; >>>> import javax.ws.rs.core.SecurityContext; >>>> import javax.ws.rs.core.UriInfo; >>>> >>>> @Component(service = FirmwareResource.class, scope = >>>> ServiceScope.PROTOTYPE) >>>> @JaxrsResource >>>> @Path(ResourceConstants.FIRMWARE_PATH) >>>> @JaxrsName("firmware") >>>> @JaxrsApplicationSelect(Constants.JAXRS_APP_SELECT) >>>> @Produces(Constants.API_MEDIA_TYPE) >>>> @Protected >>>> @MultipartConfig >>>> public class FirmwareResource { >>>> >>>> @POST >>>> @Consumes(MediaType.MULTIPART_FORM_DATA) >>>> public void upload(@Context HttpServletRequest request) throws >>>> IOException, ServletException { >>>> Collection<Part> parts = request.getParts(); >>>> ... >>>> >>>> >>>> Thank you for taking a look at this. >>>> >>>> Best regards, >>>> Alex soto >>>> >>>> >>>> >>>> >>>>> On Dec 1, 2020, at 1:23 AM, Jean-Baptiste Onofre <[email protected] >>>>> <mailto:[email protected]>> wrote: >>>>> >>>>> Hi Alex, >>>>> >>>>> In order for me to reproduce, are you using: >>>>> >>>>> - Aries JAXRS 1.0.10 still (or did you update) ? >>>>> - Pax Web or Felix as HTTP service ? >>>>> - Do you have JEE @MultipartConfig annotation on your JAXRS class ? >>>>> - @Consumers is set to MediaType.MULTIPART ? >>>>> >>>>> It could be necessary to mimic the JAXRS tests by adding a fragment to >>>>> bring org.apache.cxf.jaxrs.utils.multipart to Aries JAXRS bundle. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>>> Le 30 nov. 2020 à 19:19, Alex Soto <[email protected] >>>>>> <mailto:[email protected]>> a écrit : >>>>>> >>>>>> Hello, >>>>>> >>>>>> Anybody has any insight about this? >>>>>> >>>>>> Best regards, >>>>>> Alex soto >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> On Nov 13, 2020, at 8:54 AM, Alex Soto <[email protected] >>>>>>> <mailto:[email protected]>> wrote: >>>>>>> >>>>>>> Thank you, João, for your response. >>>>>>> >>>>>>> Unfortunately, it is not working for me. I tested adding the >>>>>>> annotation, and my service look almost identical to yours. >>>>>>> >>>>>>> I found this thread https://github.com/osgi/osgi.enroute/issues/65 >>>>>>> <https://github.com/osgi/osgi.enroute/issues/65> in which Tim Ward >>>>>>> explains about the need to set >>>>>>> “osgi.http.whiteboard.servlet.multipart.enabled=true” in the >>>>>>> configuration PID “org.apache.aries.jax.rs.whiteboard.default” but that >>>>>>> is not working either. It still fails with exception: >>>>>>> >>>>>>> >>>>>>> java.lang.IllegalStateException: No multipart config for servlet >>>>>>> at org.eclipse.jetty.server.Request.getParts(Request.java:2378) >>>>>>> ~[!/:9.4.31.v20200723] >>>>>>> at org.eclipse.jetty.server.Request.getParts(Request.java:2366) >>>>>>> ~[!/:9.4.31.v20200723] >>>>>>> at >>>>>>> javax.servlet.http.HttpServletRequestWrapper.getParts(HttpServletRequestWrapper.java:375) >>>>>>> ~[!/:3.1.0] >>>>>>> >>>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> Alex soto >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> On Nov 13, 2020, at 4:30 AM, João Assunção >>>>>>>> <[email protected] <mailto:[email protected]>> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Hello Alex, >>>>>>>> >>>>>>>> I used Multipart with Aries JAX-RS and I'm almost sure I didn't need >>>>>>>> to mess with the configuration. >>>>>>>> I annotated the class with @MultipartConfig and placed a >>>>>>>> @Consumes(MediaType.MULIPART_FOR_DATA). >>>>>>>> >>>>>>>> @Path("/firmware") >>>>>>>> @Component(service = FirmwareService.class, // >>>>>>>> immediate = true, // >>>>>>>> scope = ServiceScope.SINGLETON, property = { >>>>>>>> JaxrsWhiteboardConstants.JAX_RS_RESOURCE + "=true", >>>>>>>> JaxrsWhiteboardConstants.JAX_RS_APPLICATION_SELECT + "=(" + >>>>>>>> JaxrsWhiteboardConstants.JAX_RS_NAME + "=myApp)" >>>>>>>> }) >>>>>>>> @MultipartConfig >>>>>>>> public class FirmwareService { >>>>>>>> .... >>>>>>>> @POST >>>>>>>> @Path("/upload") >>>>>>>> @Consumes(MediaType.MULTIPART_FORM_DATA) >>>>>>>> public Response uploadFirmware(@Context HttpServletRequest >>>>>>>> request) { >>>>>>>> try { >>>>>>>> doUploadFirmware(request); >>>>>>>> >>>>>>>> Hope this helps >>>>>>>> >>>>>>>> João Assunção >>>>>>>> >>>>>>>> Email: [email protected] >>>>>>>> <mailto:[email protected]> >>>>>>>> Mobile: +351 916968984 >>>>>>>> Phone: +351 211933149 >>>>>>>> Web: www.exploitsys.com <http://www.exploitsys.com/> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Nov 12, 2020 at 5:25 PM Alex Soto <[email protected] >>>>>>>> <mailto:[email protected]>> wrote: >>>>>>>> With Karaf 4.3.0, using Aries JAX-RS 1.0.10, how can I enable multi >>>>>>>> part support? >>>>>>>> >>>>>>>> I am adding configuration file >>>>>>>> “org.apache.aries.jax.rs.whiteboard.default.cfg” to the “etc” >>>>>>>> directory with property: >>>>>>>> >>>>>>>> osgi.http.whiteboard.servlet.multipart.enabled=true >>>>>>>> >>>>>>>> But I am still getting error: >>>>>>>> >>>>>>>> java.lang.IllegalStateException: No multipart config for servlet >>>>>>>> >>>>>>>> When getting parts from HttpServletRequest. >>>>>>>> Any help will be appreciated. >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Alex soto >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>
