Hi,

This will work with Pax Web:

@WebServlet(value = "/multipart", name = "multipart")
@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 10, // 10MB
        maxFileSize = 1024 * 1024 * 50, // 50MB
        maxRequestSize = 1024 * 1024 * 100 // 100MB
)
public class MultipartExampleServlet extends HttpServlet { … }

The @HttpWhiteboardServletMultipart won’t work with Pax Web 7.3 (it will with 
Pax Web 8) as Pax Web 7.3 is OSGi R6 (not R7).

To use @HttpWhiteboardServletMultipart instead of installing Pax Web, you can 
use Felix HTTP.

Regards
JB

> Le 4 déc. 2020 à 14:41, Alex Soto <alex.s...@envieta.com> a écrit :
> 
> Thanks Tim, I understand, but in practical terms, it makes it difficult to 
> use.  At the end of the day, things don't run in the abstract, there should 
> be a way to control/configure the underlying runtime whatever that is.  
> 
> That said, I have more information about this issue.  I tested a Servlet 
> using Http Whiteboard annotations:
> 
> @Component(service = Servlet.class)
> @HttpWhiteboardServletPattern(Constants.UPLOAD_SERVLET_PATTERN)
> @HttpWhiteboardServletMultipart(enabled = true, maxFileSize = 200000)
> public class UploadServlet extends HttpServlet {
> 
>       @Override
>       protected void doPut(HttpServletRequest request,
>                       HttpServletResponse response) throws ServletException, 
> IOException {
> 
>               Collection<Part> parts = request.getParts();
> 
>               for (Part part : parts) {
>                       System.out.printf("File %s, %s, %d%n", part.getName(),
>                                       part.getContentType(), part.getSize());
>               }
>       }
> 
> 
> 
> This is also failing, so it may be something else with the Karaf stack. 
> 
> 
> Best regards,
> Alex soto
> 
> 
> 
> 
>> On Dec 4, 2020, at 6:56 AM, Tim Ward <tim.w...@paremus.com 
>> <mailto:tim.w...@paremus.com>> wrote:
>> 
>> Hi Alex,
>> 
>> I think that the misunderstanding is that JAX-RS wasn’t conceived, or 
>> designed, to build on top of Servlets. JAX-RS is its own separate 
>> specification, and it’s perfectly possible to run a JAX-RS container without 
>> a Servlet runtime (most JAX-RS implementations provide ways of doing this). 
>> That being said, due to the prevalence of Servlet Containers one of the most 
>> common ways to host a JAX-RS container is by using a Servlet Container to 
>> provide the HTTP connection. For this reason most JAX-RS providers include a 
>> “gateway servlet” which can be used to host a JAX-RS runtime within a 
>> servlet container.
>> 
>> The JAX-RS and Servlet specifications are also both part of Jakarta EE, 
>> which is why the JAX-RS specification includes the one small link to the 
>> Servlet specification, that is using @Context to inject an 
>> HttpServletRequest. This feature will only work if your JAX-RS runtime is 
>> running within a Servlet Container, and so technically isn’t 100% portable. 
>> It’s pretty rare, however, to see a production JAX-RS container that isn’t 
>> using a Servlet Container to provide the HTTP layer.
>> 
>> I’m hoping that this helps to clear up some of the confusion, none of which 
>> is within the control of OSGi, Aries JAX-RS or PAX-Web I’m afraid.
>> 
>> All the best,
>> 
>> Tim
>> 
>>> On 3 Dec 2020, at 20:13, Jean-Baptiste Onofre <j...@nanthrax.net 
>>> <mailto:j...@nanthrax.net>> wrote:
>>> 
>>> The annotation should not be required for JAXRS (@Consume and @Producer 
>>> should be used).
>>> 
>>> So, as said, I gonna enhance the Karaf rest example with multipart. But 
>>> tomorrow my time ;)
>>> 
>>> Regards
>>> JB
>>> 
>>>> Le 3 déc. 2020 à 19:02, Alex Soto <alex.s...@envieta.com 
>>>> <mailto:alex.s...@envieta.com>> a écrit :
>>>> 
>>>> I hear you Tim, and I appreciate you taking a moment to help me.  
>>>> 
>>>> I really am no expert on the the inner workings of these technologies 
>>>> (merely trying to move forward my application), but it seems to me that if 
>>>> JAX-RS was conceived to work on top of  Servlet, there should have been a 
>>>> way to pass down configuration from the upper layer (JAX-RS) down to the 
>>>> lower layer (Servlet),  don’t you think?
>>>> 
>>>> Specifically,  a Servlet can be customized by the @MultipartConfig 
>>>> annotation, but the ability to pass this down from JAX-RS is not there, or 
>>>> at least, not clear enough.
>>>> 
>>>> Best regards,
>>>> Alex soto
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> On Dec 3, 2020, at 12:32 PM, Tim Ward <tim.w...@paremus.com 
>>>>> <mailto:tim.w...@paremus.com>> wrote:
>>>>> 
>>>>> As with most Open Source Software efforts, it’s an all volunteer army. I 
>>>>> haven’t personally needed to use file upload with JAX-RS, and it’s 
>>>>> possible that few of the other users of Aries JAX-RS have either. At 
>>>>> least one person seems to have it working (based on the GitHub bug you’ve 
>>>>> seen), but they didn’t contribute an example or any documentation 
>>>>> improvements.
>>>>> 
>>>>> As for the main issue - Multipart upload like this isn’t really supported 
>>>>> by JAX-RS. You’re having to fall back to support in the Servlet API, 
>>>>> which means you’re not really using JAX-RS to do it. The problems that 
>>>>> you’re now encountering are “how do I enable multipart for the servlet 
>>>>> hosting my JAX-RS application. In the past (the GitHub bug) it has been 
>>>>> sufficient to configure the JAX-RS whiteboard instance to add the “enable 
>>>>> multipart” property from the OSGi Http Whiteboard specification. At that 
>>>>> point all of the multipart wizardry is being handled by the Http 
>>>>> Whiteboard and Aries JAX-RS has nothing to do with it. 
>>>>> 
>>>>> I would recommend trying to deploy your JAX-RS resource (without the 
>>>>> application and application select filter if you can) into a plain OSGi 
>>>>> framework using the OSGi Http Whiteboard reference implementation (from 
>>>>> Felix), and the Aries JAX-RS whiteboard configured to enable multipart. 
>>>>> If this doesn’t work then the answer lies somewhere in Aries, and is a 
>>>>> regression since the bug was written. If it does work then this points 
>>>>> the finger either at something more complex in the application code, or 
>>>>> at PAX-Web.
>>>>> 
>>>>> All the best,
>>>>> 
>>>>> Tim
>>>>> 
>>>>>> On 3 Dec 2020, at 17:12, Alex Soto <alex.s...@envieta.com 
>>>>>> <mailto:alex.s...@envieta.com>> wrote:
>>>>>> 
>>>>>> Hi Tim,
>>>>>> 
>>>>>> Thank you for the feedback.  Yes, I understand the @MultipartConfig is 
>>>>>> in the Servlet Spec, I only added it at the suggestion of others in this 
>>>>>> thread.  It clearly is not doing anything, as you say.
>>>>>> 
>>>>>> Regarding the @Protected annotation, it is irrelevant to the problem, 
>>>>>> that is just  a name binding annotation to activate a security filter.
>>>>>> 
>>>>>> Elsewhere I read that property 
>>>>>> osgi.http.whiteboard.servlet.multipart.enabled=true would enable the 
>>>>>> multi part support, but this is not working for me.  I also tried 
>>>>>> prefixing it with “servlet.init.”, as suggested, and it still does not 
>>>>>> work.  I tried these properties both in my custom JAX-RS Application 
>>>>>> configuration PID, and in the  
>>>>>> org.apache.aries.jax.rs.whiteboard.default, same result. 
>>>>>> 
>>>>>> Really, I did not expect this to be this obscure, I have not seen any 
>>>>>> documentation at all covering file uploads in the JAX-RS Whiteboard 
>>>>>> Specification, or in the Aries web site.  Is file upload such an obscure 
>>>>>> use case to not merit coverage in the examples and documentation?   
>>>>>> 
>>>>>> 
>>>>>> Best regards,
>>>>>> Alex soto
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Dec 3, 2020, at 11:23 AM, Tim Ward <tim.w...@paremus.com 
>>>>>>> <mailto:tim.w...@paremus.com>> wrote:
>>>>>>> 
>>>>>>> Hello,
>>>>>>> 
>>>>>>> Having seen the class included in this email chain I can see that your 
>>>>>>> example is actually quite complex, and that a couple of things you’re 
>>>>>>> trying to do may not be working as you expect:
>>>>>>> 
>>>>>>> Firstly, the @MultipartConfig annotation is from the Servlet 
>>>>>>> specification, and has no meaning in JAX-RS. The JAX-RS whiteboard will 
>>>>>>> therefore not do anything with the annotation. The annotation also has 
>>>>>>> no meaning as part of a DS component, and will not result in any 
>>>>>>> service or configuration properties being set. Anything that you want 
>>>>>>> to achieve using this annotation will therefore most likely not work.
>>>>>>> 
>>>>>>> Secondly, you make use of an annotation @Protected, but this isn’t 
>>>>>>> listed in your imports. It’s not an annotation that I recognise from 
>>>>>>> the JAX-RS or JAX-RS whiteboard specifications, so it’s possible that 
>>>>>>> this annotation is also not doing anything.
>>>>>>> 
>>>>>>> Thirdly, you are making use of the @JaxrsApplicationSelect annotation - 
>>>>>>> this means that your JAX-RS resource will *probably* not target the 
>>>>>>> default application (I can’t be sure because the selection filter you 
>>>>>>> are using isn’t shown). If your resource isn’t targeting the default 
>>>>>>> application then it may also not be targeting the default JAX-RS 
>>>>>>> whiteboard. If this is the case then the whiteboard configuration you 
>>>>>>> will need to set will *not* be the one with pid 
>>>>>>> org.apache.aries.jax.rs.whiteboard.default, but using the factory pid 
>>>>>>> that you used to create that whiteboard.
>>>>>>> 
>>>>>>> Fourthly, the exception that you’re describing shows up on google as 
>>>>>>> being an issue people have had when using Jetty generally. Are you 
>>>>>>> certain that Jetty is correctly configured?
>>>>>>> 
>>>>>>> Fifthly, have you inspected your running framework to see:
>>>>>>> Generic: The actual service properties on your JAX-RS resource
>>>>>>> Generic: Which application your JAX-RS resource has been bound to, and 
>>>>>>> what service properties it has
>>>>>>> Generic: Which JAX-RS whiteboard your application has been bound to, 
>>>>>>> and what service properties it has
>>>>>>> Aries specific: What the corresponding service properties are for the 
>>>>>>> Servlet Service and Http Context service corresponding to your JAX-RS 
>>>>>>> whiteboard
>>>>>>> If any of these aren’t as you expect then that will give a better fix 
>>>>>>> on the problem.
>>>>>>> 
>>>>>>> Finally, you say that you are using PAX-Web. The Aries JAX-RS 
>>>>>>> whiteboard is designed to work with any compliant implementation of the 
>>>>>>> OSGi Http Whiteboard 
>>>>>>> (https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.http.whiteboard.html
>>>>>>>  
>>>>>>> <https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.http.whiteboard.html>).
>>>>>>>  I can’t find this specification referenced anywhere in the PAX-Web 
>>>>>>> documentation, nor can I find PAX-Web listed as an implementation. This 
>>>>>>> doesn’t mean that PAX-Web doesn’t support the Http Whiteboard (it may 
>>>>>>> simply not be documented), but the Aries JAX-RS whiteboard makes 
>>>>>>> extensive use of features from across the Http Whiteboard 
>>>>>>> specification. If there are any gaps or incompatibilities in the 
>>>>>>> PAX-Web support then it’s possible that they’re preventing the JAX-RS 
>>>>>>> whiteboard from operating properly. Have you tried testing your JAX-RS 
>>>>>>> resource in a plain OSGi framework using either the Felix or Equinox 
>>>>>>> Http Whiteboards? If this works then it will narrow the search space 
>>>>>>> considerably.
>>>>>>> 
>>>>>>> All the best,
>>>>>>> 
>>>>>>> Tim Ward
>>>>>>> 
>>>>>>>> On 3 Dec 2020, at 12:49, Alex Soto <alex.s...@envieta.com 
>>>>>>>> <mailto:alex.s...@envieta.com>> wrote:
>>>>>>>> 
>>>>>>>> Yes, of course, I will write you to your email.
>>>>>>>> 
>>>>>>>> Best regards,
>>>>>>>> Alex soto
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Dec 3, 2020, at 7:45 AM, Jean-Baptiste Onofre <j...@nanthrax.net 
>>>>>>>>> <mailto:j...@nanthrax.net>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Alex,
>>>>>>>>> 
>>>>>>>>> Not yet started, I will take investigate tonight.
>>>>>>>>> 
>>>>>>>>> By the way, any chance we can do direct chat together (to move 
>>>>>>>>> forward faster) ?
>>>>>>>>> 
>>>>>>>>> Regards
>>>>>>>>> JB
>>>>>>>>> 
>>>>>>>>>> Le 3 déc. 2020 à 13:34, Alex Soto <alex.s...@envieta.com 
>>>>>>>>>> <mailto:alex.s...@envieta.com>> a écrit :
>>>>>>>>>> 
>>>>>>>>>> Hi JB,
>>>>>>>>>> 
>>>>>>>>>> Did you have a chance to look into this?   It is starting become a 
>>>>>>>>>> blocker in our project, so if there is workaround or any hints, I 
>>>>>>>>>> will appreciate it.
>>>>>>>>>> 
>>>>>>>>>> Best regards,
>>>>>>>>>> Alex soto
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Dec 1, 2020, at 9:03 AM, Jean-Baptiste Onofre <j...@nanthrax.net 
>>>>>>>>>>> <mailto:j...@nanthrax.net>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Don’t worry, I will update the karaf-rest-example.
>>>>>>>>>>> 
>>>>>>>>>>> Regards
>>>>>>>>>>> JB
>>>>>>>>>>> 
>>>>>>>>>>>> Le 1 déc. 2020 à 15:01, Alex Soto <alex.s...@envieta.com 
>>>>>>>>>>>> <mailto:alex.s...@envieta.com>> 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 
>>>>>>>>>>>>> <francois.pa...@openobject.fr 
>>>>>>>>>>>>> <mailto:francois.pa...@openobject.fr>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi Alex,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Any chances to have a sample project to share on github?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> regards,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> François
>>>>>>>>>>>>> fpa...@apache.org <mailto:fpa...@apache.org>
>>>>>>>>>>>>> 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 
>>>>>>>>>>>>>>> <j...@nanthrax.net <mailto:j...@nanthrax.net>> 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 <alex.s...@envieta.com 
>>>>>>>>>>>>>>>> <mailto:alex.s...@envieta.com>> 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 
>>>>>>>>>>>>>>>>> <j...@nanthrax.net <mailto:j...@nanthrax.net>> 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 <alex.s...@envieta.com 
>>>>>>>>>>>>>>>>>> <mailto:alex.s...@envieta.com>> a écrit :
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Anybody has any insight about this?
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Best regards,
>>>>>>>>>>>>>>>>>> Alex soto
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> On Nov 13, 2020, at 8:54 AM, Alex Soto 
>>>>>>>>>>>>>>>>>>> <alex.s...@envieta.com <mailto:alex.s...@envieta.com>> 
>>>>>>>>>>>>>>>>>>> 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 
>>>>>>>>>>>>>>>>>>>> <joao.assun...@exploitsys.com 
>>>>>>>>>>>>>>>>>>>> <mailto:joao.assun...@exploitsys.com>> 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: joao.assun...@exploitsys.com 
>>>>>>>>>>>>>>>>>>>> <mailto:joao.assun...@exploitsys.com>
>>>>>>>>>>>>>>>>>>>> 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 
>>>>>>>>>>>>>>>>>>>> <alex.s...@envieta.com <mailto:alex.s...@envieta.com>> 
>>>>>>>>>>>>>>>>>>>> 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