On Mon, Mar 11, 2013 at 2:29 PM, Rupert Westenthaler < [email protected]> wrote:
> Hi > > > On Mon, Mar 11, 2013 at 2:03 PM, Reto Bachmann-Gmür <[email protected]> > 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 < > > [email protected]> 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 <[email protected]> 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 [email protected] > >> | Bodenlehenstraße 11 ++43-699-11108907 > >> | A-5500 Bischofshofen > >> > > > > -- > | Rupert Westenthaler [email protected] > | Bodenlehenstraße 11 ++43-699-11108907 > | A-5500 Bischofshofen >
