I can give you a recipe. In the following, I had left the / off of the
address. The value was just "doc". Nothing complained until I clicked on the
WADL link in the service list, and that gave me the stack trace.
<jaxrs:server id="docService" address="/doc">
<jaxrs:serviceBeans>
<ref bean="docServiceImpl" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
</jaxrs:providers>
</jaxrs:server>
On Mon, Nov 2, 2009 at 3:51 PM, Sergey Beryozkin <[email protected]>wrote:
> Hi Benson
>
> I can see a very interesting subject and a long trace but very little
> info which can help, please be more specific.
>
> So I'm assuming from your previous post URIs like
>
> http://localhost:9090/rex-ws/service/configuration/regexp-set/default-ar
> a/replace-contents/xml<http://localhost:9090/rex-ws/service/configuration/regexp-set/default-ar%0Aa/replace-contents/xml>
>
> can be used
>
> so I have no idea why
>
> /rex-ws/service/doc
>
> is even being used.
>
> So it is
>
> Caused by: java.lang.IllegalArgumentException
> at java.net.URI.create(URI.java:842)
> at
> org.apache.cxf.jaxrs.utils.HttpUtils.toAbsoluteUri(HttpUtils.java:142)
> at
> org.apache.cxf.jaxrs.impl.UriInfoImpl.getBaseUri(UriInfoImpl.java:79)
>
> but I can't test it.
> Let me know please :
> - how do you attempt to get a WADL instance, which URI ?
> - jaxrs:server/@address
> - root resource @Path value
> - cxf servlet uri pattern
> - web app context
>
>
>
> Thanks, Sergey
>
> -----Original Message-----
> From: Benson Margulies [mailto:[email protected]]
> Sent: 02 November 2009 20:39
> To: CXF Users
> Subject: WADL, WADL, QUACK! (explosion requesting WADL from JAX-RS
> service)
>
> HTTP ERROR 500
>
> Problem accessing /rex-ws/service/doc. Reason:
>
> org.apache.cxf.interceptor.Fault
>
> Caused by:
>
> java.lang.RuntimeException: org.apache.cxf.interceptor.Fault
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage
> (AbstractFaultChainInitiatorObserver.java:99)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:284)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
> onObserver.java:104)
> at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestin
> ation.java:98)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
> vletController.java:392)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
> ler.java:170)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSe
> rvlet.java:142)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPS
> ervlet.java:50)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTT
> PServlet.java:101)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
> 16)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
> Collection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
> a:114)
> 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:536)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
> ction.java:915)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java
> :582)
> Caused by: org.apache.cxf.interceptor.Fault
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage
> (AbstractFaultChainInitiatorObserver.java:66)
> ... 26 more
> Caused by: java.lang.IllegalArgumentException
> at java.net.URI.create(URI.java:842)
> at
> org.apache.cxf.jaxrs.utils.HttpUtils.toAbsoluteUri(HttpUtils.java:142)
> at
> org.apache.cxf.jaxrs.impl.UriInfoImpl.getBaseUri(UriInfoImpl.java:79)
> at
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerato
> r.java:111)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRS
> InInterceptor.java:157)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSI
> nInterceptor.java:63)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:236)
> ... 25 more
> Caused by: java.net.URISyntaxException: Malformed escape pair at index
> 22: http://0:0:0:0:0:0:0:1%0:8080doc
> at java.net.URI$Parser.fail(URI.java:2809)
> at java.net.URI$Parser.scanEscape(URI.java:2939)
> at java.net.URI$Parser.scan(URI.java:2962)
> at java.net.URI$Parser.parseAuthority(URI.java:3103)
> at java.net.URI$Parser.parseHierarchical(URI.java:3058)
> at java.net.URI$Parser.parse(URI.java:3014)
> at java.net.URI.<init>(URI.java:578)
> at java.net.URI.create(URI.java:840)
> ... 31 more
>
> Caused by:
>
> org.apache.cxf.interceptor.Fault
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage
> (AbstractFaultChainInitiatorObserver.java:66)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:284)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
> onObserver.java:104)
> at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestin
> ation.java:98)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
> vletController.java:392)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
> ler.java:170)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSe
> rvlet.java:142)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPS
> ervlet.java:50)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTT
> PServlet.java:101)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
> 16)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
> Collection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
> a:114)
> 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:536)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
> ction.java:915)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java
> :582)
> Caused by: java.lang.IllegalArgumentException
> at java.net.URI.create(URI.java:842)
> at
> org.apache.cxf.jaxrs.utils.HttpUtils.toAbsoluteUri(HttpUtils.java:142)
> at
> org.apache.cxf.jaxrs.impl.UriInfoImpl.getBaseUri(UriInfoImpl.java:79)
> at
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerato
> r.java:111)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRS
> InInterceptor.java:157)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSI
> nInterceptor.java:63)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:236)
> ... 25 more
> Caused by: java.net.URISyntaxException: Malformed escape pair at index
> 22: http://0:0:0:0:0:0:0:1%0:8080doc
> at java.net.URI$Parser.fail(URI.java:2809)
> at java.net.URI$Parser.scanEscape(URI.java:2939)
> at java.net.URI$Parser.scan(URI.java:2962)
> at java.net.URI$Parser.parseAuthority(URI.java:3103)
> at java.net.URI$Parser.parseHierarchical(URI.java:3058)
> at java.net.URI$Parser.parse(URI.java:3014)
> at java.net.URI.<init>(URI.java:578)
> at java.net.URI.create(URI.java:840)
> ... 31 more
>
> Caused by:
>
> java.lang.IllegalArgumentException
> at java.net.URI.create(URI.java:842)
> at
> org.apache.cxf.jaxrs.utils.HttpUtils.toAbsoluteUri(HttpUtils.java:142)
> at
> org.apache.cxf.jaxrs.impl.UriInfoImpl.getBaseUri(UriInfoImpl.java:79)
> at
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerato
> r.java:111)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRS
> InInterceptor.java:157)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSI
> nInterceptor.java:63)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:236)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
> onObserver.java:104)
> at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestin
> ation.java:98)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
> vletController.java:392)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
> ler.java:170)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSe
> rvlet.java:142)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPS
> ervlet.java:50)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTT
> PServlet.java:101)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
> 16)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
> Collection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
> a:114)
> 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:536)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
> ction.java:915)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java
> :582)
> Caused by: java.net.URISyntaxException: Malformed escape pair at index
> 22: http://0:0:0:0:0:0:0:1%0:8080doc
> at java.net.URI$Parser.fail(URI.java:2809)
> at java.net.URI$Parser.scanEscape(URI.java:2939)
> at java.net.URI$Parser.scan(URI.java:2962)
> at java.net.URI$Parser.parseAuthority(URI.java:3103)
> at java.net.URI$Parser.parseHierarchical(URI.java:3058)
> at java.net.URI$Parser.parse(URI.java:3014)
> at java.net.URI.<init>(URI.java:578)
> at java.net.URI.create(URI.java:840)
> ... 31 more
>
> Caused by:
>
> java.net.URISyntaxException: Malformed escape pair at index 22:
> http://0:0:0:0:0:0:0:1%0:8080doc
> at java.net.URI$Parser.fail(URI.java:2809)
> at java.net.URI$Parser.scanEscape(URI.java:2939)
> at java.net.URI$Parser.scan(URI.java:2962)
> at java.net.URI$Parser.parseAuthority(URI.java:3103)
> at java.net.URI$Parser.parseHierarchical(URI.java:3058)
> at java.net.URI$Parser.parse(URI.java:3014)
> at java.net.URI.<init>(URI.java:578)
> at java.net.URI.create(URI.java:840)
> at
> org.apache.cxf.jaxrs.utils.HttpUtils.toAbsoluteUri(HttpUtils.java:142)
> at
> org.apache.cxf.jaxrs.impl.UriInfoImpl.getBaseUri(UriInfoImpl.java:79)
> at
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerato
> r.java:111)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRS
> InInterceptor.java:157)
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSI
> nInterceptor.java:63)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
> hain.java:236)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
> onObserver.java:104)
> at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestin
> ation.java:98)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
> vletController.java:392)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
> ler.java:170)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSe
> rvlet.java:142)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPS
> ervlet.java:50)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTT
> PServlet.java:101)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
> 16)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
> Collection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
> a:114)
> 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:536)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
> ction.java:915)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> 409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java
> :582)
>
> ------------------------------
> *Powered by Jetty://*
>