Ok, it has to be fixed, especially given that JAXRS @Path values can
have no leading slashes, so treating "doc" as "/doc" would make sense...


Thanks, Sergey

-----Original Message-----
From: Benson Margulies [mailto:[email protected]] 
Sent: 02 November 2009 21:31
To: [email protected]
Subject: Re: WADL, WADL, QUACK! (explosion requesting WADL from JAX-RS
service)

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/configuratio
n/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://*
>

Reply via email to