Don’t worry, I will update the karaf-rest-example. Regards JB
> Le 1 déc. 2020 à 15:01, Alex Soto <[email protected]> a écrit : > > 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] >> <mailto:[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 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >
