You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Valentin Mayamsin (JIRA)" <ji...@apache.org> on 2013/12/03 02:33:35 UTC
[jira] [Updated] (CXF-5433) JAX-RS method invocation failes in case
@Mutipart(required=false) is used on primitives
[ https://issues.apache.org/jira/browse/CXF-5433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Valentin Mayamsin updated CXF-5433:
-----------------------------------
Summary: JAX-RS method invocation failes in case @Mutipart(required=false) is used on primitives (was: JAX-RS method invocation failed in case @Mutipart(required=false) is used on primitives)
> JAX-RS method invocation failes in case @Mutipart(required=false) is used on primitives
> ---------------------------------------------------------------------------------------
>
> Key: CXF-5433
> URL: https://issues.apache.org/jira/browse/CXF-5433
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.7.6
> Reporter: Valentin Mayamsin
>
> Here is a sample resource:
> {code}
> @Path("res")
> interface SomeResource {
> @PUT
> @Consumes(MediaType.MULTIPART_FORM_DATA)
> void uploadFile(@Multipart("bin") byte[] fileBytes,
> @Multipart(value = "timestamp", type = "text/plain") long timestamp);
> }
> {code}
> An attempt to upload a file without specifying 'timestamp' part ends up with an exception:
> {code}
> java.lang.IllegalArgumentException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
> at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
> at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194)
> at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
> at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
> at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:355)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:319)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1040)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:976)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> at org.eclipse.jetty.server.Server.handle(Server.java:363)
> at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
> at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:931)
> at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:992)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
> at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Thread.java:722)
> {code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)