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

Reply via email to