You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stanbol.apache.org by Rafa Haro <rh...@zaizi.com> on 2013/03/08 09:42:33 UTC

Exception Creating a Content Item with multipart/form-data

Hi all,

After last update from the trunk, it seems that there is a bug in the 
Create REST service of the ContentHub that prevent to upload Content 
Items. An exception is always thrown in the Stanbol Server even with 
simple tests like this one extracted from the API documentation:

curl -i -F "content=I live in Paris.;type=text/plain" 
"http://localhost:9080/contenthub/contenthub/store?title=Paris"

I have also tried with our Java Stanbol Client (working without problems 
in previous versions) and get the same exception:

Mar 08, 2013 8:32:59 AM 
com.sun.jersey.server.impl.application.WebApplicationImpl _handleRequest
SEVERE: The RuntimeException could not be mapped to a response, 
re-throwing to the HTTP container
java.lang.IllegalArgumentException: argument type mismatch
     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 
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
     at 
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
     at 
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
     at 
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
     at 
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
     at 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
     at 
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
     at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
     at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
     at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
     at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
     at 
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
     at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
     at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     at 
org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
     at 
org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
     at 
org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
     at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
     at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
     at 
org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
     at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
     at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
     at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
     at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
     at 
org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148)
     at 
org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
     at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
     at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
     at 
org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163)
     at java.security.AccessController.doPrivileged(Native Method)
     at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
     at 
org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
     at 
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
     at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
     at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
     at 
org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
     at 
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
     at 
org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
     at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
     at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
     at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
     at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
     at org.mortbay.jetty.Server.handle(Server.java:326)
     at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
     at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
     at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
     at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Any clue about what is happening?

Thanks


-- 

------------------------------
This message should be regarded as confidential. If you have received this 
email in error please notify the sender and destroy it immediately. 
Statements of intent shall only become binding when confirmed in hard copy 
by an authorised signatory.

Zaizi Ltd is registered in England and Wales with the registration number 
6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam Road, 
London W10 5JJ, UK.

Re: Exception Creating a Content Item with multipart/form-data

Posted by Reto Bachmann-Gmür <re...@apache.org>.
So this issue should be fixed with latest snapshot version of jaxrs.utils
which is now being used in the launcher (not in the archetype to keep the
generated project more stable).

Cheers,
Reto

On Mon, Mar 11, 2013 at 3:26 PM, Reto Bachmann-Gmür <re...@wymiwyg.com>wrote:

>
>
> On Mon, Mar 11, 2013 at 2:29 PM, Rupert Westenthaler <
> rupert.westenthaler@gmail.com> wrote:
>
>> Hi
>>
>>
>> On Mon, Mar 11, 2013 at 2:03 PM, Reto Bachmann-Gmür <re...@apache.org>
>> wrote:
>> > Hi
>> >
>> > I'll look into the contenthub to get rid of the usage of
>> jersey-multipart.
>> >
>> > We should not depend on modules that work exclusively on jersey. If they
>> > break if there is a standard conformat message body reader for that
>> type in
>> > place the worse for the jersey-multipart module.
>> >
>> > It is with unfortunate that the breakage didn't result in a test
>> failure.
>>
>> It did. I was getting 4 failing Enhancer test (see the attachment to the
>> issue).
>>
>>
>
>> I do not think it has something to do with jersey, as this uses the
>> "org.apache.stanbol.enhancer.jersey.reader.ContentItemReader".
>> AFAIK the Contenthub uses the same class to read ContentItems form
>> multipart requests. My guess is that a JAX-RS provider of the clerezza
>> "jaxrs.utils" is overriding the ContentItemReader somehow.
>>
>
> Ok I see. Thanks for pointing to this.
>
> The jax-rs MBR provided by jaxrs.utils has a higher priroity because it is
> pecific for multipart/form-data while ContentItemReader consumes */*.
> Clearly it should deny service if the argument is not assignable from
> MultiPartBody. I'll investigate.
>
> Cheers,
> Reto
>
>>
>> best
>> Rupert
>>
>> >
>> > Cheers,
>> > Reto
>> >
>> > On Mon, Mar 11, 2013 at 10:43 AM, Rupert Westenthaler <
>> > rupert.westenthaler@gmail.com> wrote:
>> >
>> >> Hi
>> >>
>> >> I can confirm this. After "svn up" I see even broken Integration test
>> >> for the Enhancer. All related to multipart-mime support. On the Server
>> >> side there are exceptions like
>> >>
>> >>     java.lang.ClassCastException@3e8618aa
>> >>          at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown
>> Source)
>> >>          at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>          at java.lang.reflect.Method.invoke(Method.java:597)
>> >>          at
>> >>
>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>> >>          at
>> >>
>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>> >>
>> >> Removing
>> >>
>> >>     <bundle>
>> >>         <groupId>org.apache.clerezza</groupId>
>> >>         <artifactId>jaxrs.utils</artifactId>
>> >>         <version>0.6-incubating</version>
>> >>     </bundle>
>> >>
>> >> form
>> >>
>> >>     launchers/bundlelist/stanbolcommons/src/main/bundles/list.xml
>> >>
>> >> solved all those problems for me. So this is caused by STANBOL-977 [1]
>> >> [2]. Reopend the Issue and added information about this
>> >>
>> >> best
>> >> Rupert
>> >>
>> >>
>> >> [1] https://issues.apache.org/jira/browse/STANBOL-977
>> >> [2] http://svn.apache.org/r1453863
>> >>
>> >> On Fri, Mar 8, 2013 at 9:42 AM, Rafa Haro <rh...@zaizi.com> wrote:
>> >> > Hi all,
>> >> >
>> >> > After last update from the trunk, it seems that there is a bug in the
>> >> Create
>> >> > REST service of the ContentHub that prevent to upload Content Items.
>> An
>> >> > exception is always thrown in the Stanbol Server even with simple
>> tests
>> >> like
>> >> > this one extracted from the API documentation:
>> >> >
>> >> > curl -i -F "content=I live in Paris.;type=text/plain"
>> >> > "http://localhost:9080/contenthub/contenthub/store?title=Paris"
>> >> >
>> >> > I have also tried with our Java Stanbol Client (working without
>> problems
>> >> in
>> >> > previous versions) and get the same exception:
>> >> >
>> >> > Mar 08, 2013 8:32:59 AM
>> >> > com.sun.jersey.server.impl.application.WebApplicationImpl
>> _handleRequest
>> >> > SEVERE: The RuntimeException could not be mapped to a response,
>> >> re-throwing
>> >> > to the HTTP container
>> >> > java.lang.IllegalArgumentException: argument type mismatch
>> >> >     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
>> >> >
>> >>
>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
>> >> >     at
>> >> >
>> >>
>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
>> >> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >> >     at
>> >> >
>> >>
>> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >> >     at
>> >> >
>> >>
>> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148)
>> >> >     at
>> >> >
>> >>
>> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >> >     at
>> >> >
>> >>
>> org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163)
>> >> >     at java.security.AccessController.doPrivileged(Native Method)
>> >> >     at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
>> >> >     at
>> >> >
>> >>
>> org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
>> >> >     at
>> >> >
>> >>
>> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
>> >> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> >> >     at
>> >> >
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>> >> >     at
>> >> >
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>> >> >     at
>> >> >
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>> >> >     at
>> >> >
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>> >> >     at
>> >> >
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> >> >     at org.mortbay.jetty.Server.handle(Server.java:326)
>> >> >     at
>> >> >
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>> >> >     at
>> >> >
>> >>
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
>> >> >     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>> >> >     at
>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>> >> >     at
>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>> >> >     at
>> >> >
>> >>
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>> >> >     at
>> >> >
>> >>
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>> >> >
>> >> > Any clue about what is happening?
>> >> >
>> >> > Thanks
>> >> >
>> >> >
>> >> > --
>> >> >
>> >> > ------------------------------
>> >> > This message should be regarded as confidential. If you have received
>> >> this
>> >> > email in error please notify the sender and destroy it immediately.
>> >> > Statements of intent shall only become binding when confirmed in hard
>> >> copy
>> >> > by an authorised signatory.
>> >> >
>> >> > Zaizi Ltd is registered in England and Wales with the registration
>> number
>> >> > 6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam
>> >> Road,
>> >> > London W10 5JJ, UK.
>> >>
>> >>
>> >>
>> >> --
>> >> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> >> | Bodenlehenstraße 11                             ++43-699-11108907
>> >> | A-5500 Bischofshofen
>> >>
>>
>>
>>
>> --
>> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> | Bodenlehenstraße 11                             ++43-699-11108907
>> | A-5500 Bischofshofen
>>
>
>

Re: Exception Creating a Content Item with multipart/form-data

Posted by Reto Bachmann-Gmür <re...@wymiwyg.com>.
On Mon, Mar 11, 2013 at 2:29 PM, Rupert Westenthaler <
rupert.westenthaler@gmail.com> wrote:

> Hi
>
>
> On Mon, Mar 11, 2013 at 2:03 PM, Reto Bachmann-Gmür <re...@apache.org>
> wrote:
> > Hi
> >
> > I'll look into the contenthub to get rid of the usage of
> jersey-multipart.
> >
> > We should not depend on modules that work exclusively on jersey. If they
> > break if there is a standard conformat message body reader for that type
> in
> > place the worse for the jersey-multipart module.
> >
> > It is with unfortunate that the breakage didn't result in a test failure.
>
> It did. I was getting 4 failing Enhancer test (see the attachment to the
> issue).
>
> I do not think it has something to do with jersey, as this uses the
> "org.apache.stanbol.enhancer.jersey.reader.ContentItemReader".
> AFAIK the Contenthub uses the same class to read ContentItems form
> multipart requests. My guess is that a JAX-RS provider of the clerezza
> "jaxrs.utils" is overriding the ContentItemReader somehow.
>

Ok I see. Thanks for pointing to this.

The jax-rs MBR provided by jaxrs.utils has a higher priroity because it is
pecific for multipart/form-data while ContentItemReader consumes */*.
Clearly it should deny service if the argument is not assignable from
MultiPartBody. I'll investigate.

Cheers,
Reto

>
> best
> Rupert
>
> >
> > Cheers,
> > Reto
> >
> > On Mon, Mar 11, 2013 at 10:43 AM, Rupert Westenthaler <
> > rupert.westenthaler@gmail.com> wrote:
> >
> >> Hi
> >>
> >> I can confirm this. After "svn up" I see even broken Integration test
> >> for the Enhancer. All related to multipart-mime support. On the Server
> >> side there are exceptions like
> >>
> >>     java.lang.ClassCastException@3e8618aa
> >>          at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
> >>          at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>          at java.lang.reflect.Method.invoke(Method.java:597)
> >>          at
> >>
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> >>          at
> >>
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
> >>
> >> Removing
> >>
> >>     <bundle>
> >>         <groupId>org.apache.clerezza</groupId>
> >>         <artifactId>jaxrs.utils</artifactId>
> >>         <version>0.6-incubating</version>
> >>     </bundle>
> >>
> >> form
> >>
> >>     launchers/bundlelist/stanbolcommons/src/main/bundles/list.xml
> >>
> >> solved all those problems for me. So this is caused by STANBOL-977 [1]
> >> [2]. Reopend the Issue and added information about this
> >>
> >> best
> >> Rupert
> >>
> >>
> >> [1] https://issues.apache.org/jira/browse/STANBOL-977
> >> [2] http://svn.apache.org/r1453863
> >>
> >> On Fri, Mar 8, 2013 at 9:42 AM, Rafa Haro <rh...@zaizi.com> wrote:
> >> > Hi all,
> >> >
> >> > After last update from the trunk, it seems that there is a bug in the
> >> Create
> >> > REST service of the ContentHub that prevent to upload Content Items.
> An
> >> > exception is always thrown in the Stanbol Server even with simple
> tests
> >> like
> >> > this one extracted from the API documentation:
> >> >
> >> > curl -i -F "content=I live in Paris.;type=text/plain"
> >> > "http://localhost:9080/contenthub/contenthub/store?title=Paris"
> >> >
> >> > I have also tried with our Java Stanbol Client (working without
> problems
> >> in
> >> > previous versions) and get the same exception:
> >> >
> >> > Mar 08, 2013 8:32:59 AM
> >> > com.sun.jersey.server.impl.application.WebApplicationImpl
> _handleRequest
> >> > SEVERE: The RuntimeException could not be mapped to a response,
> >> re-throwing
> >> > to the HTTP container
> >> > java.lang.IllegalArgumentException: argument type mismatch
> >> >     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
> >> >
> >>
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
> >> >     at
> >> >
> >>
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
> >> >     at
> >> >
> >>
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
> >> >     at
> >> >
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
> >> >     at
> >> >
> >>
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
> >> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >> >     at
> >> >
> >>
> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >> >     at
> >> >
> >>
> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148)
> >> >     at
> >> >
> >>
> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >> >     at
> >> >
> >>
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163)
> >> >     at java.security.AccessController.doPrivileged(Native Method)
> >> >     at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
> >> >     at
> >> >
> >>
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
> >> >     at
> >> >
> >>
> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
> >> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >> >     at
> >> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> >> >     at
> >> >
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> >> >     at
> >> >
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> >> >     at
> >> >
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> >> >     at
> >> >
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> >> >     at org.mortbay.jetty.Server.handle(Server.java:326)
> >> >     at
> >> >
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> >> >     at
> >> >
> >>
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
> >> >     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
> >> >     at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> >> >     at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> >> >     at
> >> >
> >>
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> >> >     at
> >> >
> >>
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> >> >
> >> > Any clue about what is happening?
> >> >
> >> > Thanks
> >> >
> >> >
> >> > --
> >> >
> >> > ------------------------------
> >> > This message should be regarded as confidential. If you have received
> >> this
> >> > email in error please notify the sender and destroy it immediately.
> >> > Statements of intent shall only become binding when confirmed in hard
> >> copy
> >> > by an authorised signatory.
> >> >
> >> > Zaizi Ltd is registered in England and Wales with the registration
> number
> >> > 6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam
> >> Road,
> >> > London W10 5JJ, UK.
> >>
> >>
> >>
> >> --
> >> | Rupert Westenthaler             rupert.westenthaler@gmail.com
> >> | Bodenlehenstraße 11                             ++43-699-11108907
> >> | A-5500 Bischofshofen
> >>
>
>
>
> --
> | Rupert Westenthaler             rupert.westenthaler@gmail.com
> | Bodenlehenstraße 11                             ++43-699-11108907
> | A-5500 Bischofshofen
>

Re: Exception Creating a Content Item with multipart/form-data

Posted by Rupert Westenthaler <ru...@gmail.com>.
Hi


On Mon, Mar 11, 2013 at 2:03 PM, Reto Bachmann-Gmür <re...@apache.org> wrote:
> Hi
>
> I'll look into the contenthub to get rid of the usage of jersey-multipart.
>
> We should not depend on modules that work exclusively on jersey. If they
> break if there is a standard conformat message body reader for that type in
> place the worse for the jersey-multipart module.
>
> It is with unfortunate that the breakage didn't result in a test failure.

It did. I was getting 4 failing Enhancer test (see the attachment to the issue).

I do not think it has something to do with jersey, as this uses the
"org.apache.stanbol.enhancer.jersey.reader.ContentItemReader".
AFAIK the Contenthub uses the same class to read ContentItems form
multipart requests. My guess is that a JAX-RS provider of the clerezza
"jaxrs.utils" is overriding the ContentItemReader somehow.

best
Rupert

>
> Cheers,
> Reto
>
> On Mon, Mar 11, 2013 at 10:43 AM, Rupert Westenthaler <
> rupert.westenthaler@gmail.com> wrote:
>
>> Hi
>>
>> I can confirm this. After "svn up" I see even broken Integration test
>> for the Enhancer. All related to multipart-mime support. On the Server
>> side there are exceptions like
>>
>>     java.lang.ClassCastException@3e8618aa
>>          at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
>>          at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>          at java.lang.reflect.Method.invoke(Method.java:597)
>>          at
>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>>          at
>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>>
>> Removing
>>
>>     <bundle>
>>         <groupId>org.apache.clerezza</groupId>
>>         <artifactId>jaxrs.utils</artifactId>
>>         <version>0.6-incubating</version>
>>     </bundle>
>>
>> form
>>
>>     launchers/bundlelist/stanbolcommons/src/main/bundles/list.xml
>>
>> solved all those problems for me. So this is caused by STANBOL-977 [1]
>> [2]. Reopend the Issue and added information about this
>>
>> best
>> Rupert
>>
>>
>> [1] https://issues.apache.org/jira/browse/STANBOL-977
>> [2] http://svn.apache.org/r1453863
>>
>> On Fri, Mar 8, 2013 at 9:42 AM, Rafa Haro <rh...@zaizi.com> wrote:
>> > Hi all,
>> >
>> > After last update from the trunk, it seems that there is a bug in the
>> Create
>> > REST service of the ContentHub that prevent to upload Content Items. An
>> > exception is always thrown in the Stanbol Server even with simple tests
>> like
>> > this one extracted from the API documentation:
>> >
>> > curl -i -F "content=I live in Paris.;type=text/plain"
>> > "http://localhost:9080/contenthub/contenthub/store?title=Paris"
>> >
>> > I have also tried with our Java Stanbol Client (working without problems
>> in
>> > previous versions) and get the same exception:
>> >
>> > Mar 08, 2013 8:32:59 AM
>> > com.sun.jersey.server.impl.application.WebApplicationImpl _handleRequest
>> > SEVERE: The RuntimeException could not be mapped to a response,
>> re-throwing
>> > to the HTTP container
>> > java.lang.IllegalArgumentException: argument type mismatch
>> >     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
>> >
>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>> >     at
>> >
>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>> >     at
>> >
>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>> >     at
>> >
>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>> >     at
>> >
>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>> >     at
>> >
>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>> >     at
>> >
>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>> >     at
>> >
>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
>> >     at
>> >
>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
>> >     at
>> >
>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
>> >     at
>> >
>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
>> >     at
>> >
>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
>> >     at
>> >
>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
>> >     at
>> >
>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
>> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >     at
>> >
>> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >     at
>> >
>> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148)
>> >     at
>> >
>> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >     at
>> >
>> org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163)
>> >     at java.security.AccessController.doPrivileged(Native Method)
>> >     at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
>> >     at
>> >
>> org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>> >     at
>> >
>> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
>> >     at
>> >
>> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
>> >     at
>> >
>> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
>> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> >     at
>> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>> >     at
>> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>> >     at
>> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>> >     at
>> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>> >     at
>> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> >     at org.mortbay.jetty.Server.handle(Server.java:326)
>> >     at
>> > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>> >     at
>> >
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
>> >     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>> >     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>> >     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>> >     at
>> >
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>> >     at
>> >
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>> >
>> > Any clue about what is happening?
>> >
>> > Thanks
>> >
>> >
>> > --
>> >
>> > ------------------------------
>> > This message should be regarded as confidential. If you have received
>> this
>> > email in error please notify the sender and destroy it immediately.
>> > Statements of intent shall only become binding when confirmed in hard
>> copy
>> > by an authorised signatory.
>> >
>> > Zaizi Ltd is registered in England and Wales with the registration number
>> > 6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam
>> Road,
>> > London W10 5JJ, UK.
>>
>>
>>
>> --
>> | Rupert Westenthaler             rupert.westenthaler@gmail.com
>> | Bodenlehenstraße 11                             ++43-699-11108907
>> | A-5500 Bischofshofen
>>



--
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen

Re: Exception Creating a Content Item with multipart/form-data

Posted by Reto Bachmann-Gmür <re...@apache.org>.
Hi

I'll look into the contenthub to get rid of the usage of jersey-multipart.

We should not depend on modules that work exclusively on jersey. If they
break if there is a standard conformat message body reader for that type in
place the worse for the jersey-multipart module.

It is with unfortunate that the breakage didn't result in a test failure.

Cheers,
Reto

On Mon, Mar 11, 2013 at 10:43 AM, Rupert Westenthaler <
rupert.westenthaler@gmail.com> wrote:

> Hi
>
> I can confirm this. After "svn up" I see even broken Integration test
> for the Enhancer. All related to multipart-mime support. On the Server
> side there are exceptions like
>
>     java.lang.ClassCastException@3e8618aa
>          at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
>          at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>          at java.lang.reflect.Method.invoke(Method.java:597)
>          at
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>          at
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>
> Removing
>
>     <bundle>
>         <groupId>org.apache.clerezza</groupId>
>         <artifactId>jaxrs.utils</artifactId>
>         <version>0.6-incubating</version>
>     </bundle>
>
> form
>
>     launchers/bundlelist/stanbolcommons/src/main/bundles/list.xml
>
> solved all those problems for me. So this is caused by STANBOL-977 [1]
> [2]. Reopend the Issue and added information about this
>
> best
> Rupert
>
>
> [1] https://issues.apache.org/jira/browse/STANBOL-977
> [2] http://svn.apache.org/r1453863
>
> On Fri, Mar 8, 2013 at 9:42 AM, Rafa Haro <rh...@zaizi.com> wrote:
> > Hi all,
> >
> > After last update from the trunk, it seems that there is a bug in the
> Create
> > REST service of the ContentHub that prevent to upload Content Items. An
> > exception is always thrown in the Stanbol Server even with simple tests
> like
> > this one extracted from the API documentation:
> >
> > curl -i -F "content=I live in Paris.;type=text/plain"
> > "http://localhost:9080/contenthub/contenthub/store?title=Paris"
> >
> > I have also tried with our Java Stanbol Client (working without problems
> in
> > previous versions) and get the same exception:
> >
> > Mar 08, 2013 8:32:59 AM
> > com.sun.jersey.server.impl.application.WebApplicationImpl _handleRequest
> > SEVERE: The RuntimeException could not be mapped to a response,
> re-throwing
> > to the HTTP container
> > java.lang.IllegalArgumentException: argument type mismatch
> >     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
> >
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> >     at
> >
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
> >     at
> >
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> >     at
> >
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
> >     at
> >
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
> >     at
> >
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> >     at
> >
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> >     at
> >
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
> >     at
> >
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
> >     at
> >
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
> >     at
> >
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
> >     at
> >
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
> >     at
> >
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
> >     at
> >
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >     at
> >
> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
> >     at
> >
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >     at
> >
> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >     at
> >
> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148)
> >     at
> >
> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >     at
> >
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
> >     at
> >
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> >     at
> >
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
> >     at
> >
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
> >     at
> >
> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
> >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >     at
> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> >     at
> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> >     at
> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> >     at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> >     at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> >     at org.mortbay.jetty.Server.handle(Server.java:326)
> >     at
> > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> >     at
> >
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
> >     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
> >     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> >     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> >     at
> >
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> >     at
> >
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> >
> > Any clue about what is happening?
> >
> > Thanks
> >
> >
> > --
> >
> > ------------------------------
> > This message should be regarded as confidential. If you have received
> this
> > email in error please notify the sender and destroy it immediately.
> > Statements of intent shall only become binding when confirmed in hard
> copy
> > by an authorised signatory.
> >
> > Zaizi Ltd is registered in England and Wales with the registration number
> > 6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam
> Road,
> > London W10 5JJ, UK.
>
>
>
> --
> | Rupert Westenthaler             rupert.westenthaler@gmail.com
> | Bodenlehenstraße 11                             ++43-699-11108907
> | A-5500 Bischofshofen
>

Re: Exception Creating a Content Item with multipart/form-data

Posted by Rupert Westenthaler <ru...@gmail.com>.
Hi

I can confirm this. After "svn up" I see even broken Integration test
for the Enhancer. All related to multipart-mime support. On the Server
side there are exceptions like

    java.lang.ClassCastException@3e8618aa
         at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
         at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)

Removing

    <bundle>
        <groupId>org.apache.clerezza</groupId>
        <artifactId>jaxrs.utils</artifactId>
        <version>0.6-incubating</version>
    </bundle>

form

    launchers/bundlelist/stanbolcommons/src/main/bundles/list.xml

solved all those problems for me. So this is caused by STANBOL-977 [1]
[2]. Reopend the Issue and added information about this

best
Rupert


[1] https://issues.apache.org/jira/browse/STANBOL-977
[2] http://svn.apache.org/r1453863

On Fri, Mar 8, 2013 at 9:42 AM, Rafa Haro <rh...@zaizi.com> wrote:
> Hi all,
>
> After last update from the trunk, it seems that there is a bug in the Create
> REST service of the ContentHub that prevent to upload Content Items. An
> exception is always thrown in the Stanbol Server even with simple tests like
> this one extracted from the API documentation:
>
> curl -i -F "content=I live in Paris.;type=text/plain"
> "http://localhost:9080/contenthub/contenthub/store?title=Paris"
>
> I have also tried with our Java Stanbol Client (working without problems in
> previous versions) and get the same exception:
>
> Mar 08, 2013 8:32:59 AM
> com.sun.jersey.server.impl.application.WebApplicationImpl _handleRequest
> SEVERE: The RuntimeException could not be mapped to a response, re-throwing
> to the HTTP container
> java.lang.IllegalArgumentException: argument type mismatch
>     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
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>     at
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
>     at
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>     at
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>     at
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>     at
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>     at
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>     at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
>     at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
>     at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
>     at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
>     at
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
>     at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
>     at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>     at
> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
>     at
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
>     at
> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
>     at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
>     at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>     at
> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>     at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>     at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
>     at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>     at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>     at
> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilterHttp(ResourceServingFilter.java:148)
>     at
> org.apache.stanbol.commons.web.resources.ResourceServingFilter.doFilter(ResourceServingFilter.java:91)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>     at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>     at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>     at
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:163)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
>     at
> org.apache.stanbol.commons.security.auth.AuthenticatingFilter.doFilter(AuthenticatingFilter.java:159)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
>     at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
>     at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
>     at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>     at
> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
>     at
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
>     at
> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>     at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>     at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>     at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>     at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>     at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>     at org.mortbay.jetty.Server.handle(Server.java:326)
>     at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>     at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>     at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>     at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>
> Any clue about what is happening?
>
> Thanks
>
>
> --
>
> ------------------------------
> This message should be regarded as confidential. If you have received this
> email in error please notify the sender and destroy it immediately.
> Statements of intent shall only become binding when confirmed in hard copy
> by an authorised signatory.
>
> Zaizi Ltd is registered in England and Wales with the registration number
> 6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam Road,
> London W10 5JJ, UK.



--
| Rupert Westenthaler             rupert.westenthaler@gmail.com
| Bodenlehenstraße 11                             ++43-699-11108907
| A-5500 Bischofshofen