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