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]> 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
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to