So, I'm in a webapp, and there's a servlet. The base URL or the webapp is http://localhost:8080/rex-ws, and the URI mapping in the servlet is to /service*
I suspect that the JAX-WS pattern is to treat "doc" as resulting in: http://localhost:8080/rex-ws/servicedoc If so, you'd want to fix the service list and everything else to work with that. On Mon, Nov 2, 2009 at 4:37 PM, Sergey Beryozkin <[email protected]>wrote: > 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<http://localhost:9090/rex-ws/service/configuratio%0An/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://* > > >
