Hi Alex, Any chances to have a sample project to share on github?
regards, François [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) >>> publicvoid upload(@ContextHttpServletRequest request) >>> throwsIOException, 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 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
