[jbossws-issues] [JBoss JIRA] (JBWS-3741) WebService doesn't support "//"

Thomas Szadel (JIRA) issues at jboss.org
Mon Jul 7 04:36:24 EDT 2014


     [ https://issues.jboss.org/browse/JBWS-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Szadel reopened JBWS-3741:
---------------------------------



It still doesn't work with JBoss EAP 6.2.3.

Now, I have that stack trace (invalid module configuration?) :

javax.servlet.ServletException: JBWEB000248: Servlet execution threw an exception
java.lang.NoClassDefFoundError: javax/servlet/ServletException
	org.jboss.wsf.stack.cxf.Messages_$bundle.cannotObtainDestinationFor(Messages_$bundle.java:399)
	org.jboss.wsf.stack.cxf.RequestHandlerImpl.findDestination(RequestHandlerImpl.java:166)
	org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:83)
	org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:133)
	org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
	org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
	org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:211)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
	org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
	org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
JBWEB000071: root cause

java.lang.ClassNotFoundException: javax.servlet.ServletException from [Module "org.jboss.ws.jaxws-client:main" from local module loader @3d533528 (finder: local module finder @21c6f48c (roots: D:\jboss-eap-6.2\modules,D:\jboss-eap-6.2\modules\system\layers\base))]
	org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
	org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
	org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
	org.jboss.wsf.stack.cxf.Messages_$bundle.cannotObtainDestinationFor(Messages_$bundle.java:399)
	org.jboss.wsf.stack.cxf.RequestHandlerImpl.findDestination(RequestHandlerImpl.java:166)
	org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:83)
	org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:133)
	org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
	org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
	org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:211)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
	org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
	org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

> WebService doesn't support "//" 
> --------------------------------
>
>                 Key: JBWS-3741
>                 URL: https://issues.jboss.org/browse/JBWS-3741
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: jbossws-cxf
>    Affects Versions: jbossws-cxf-4.1.3
>            Reporter: Thomas Szadel
>            Assignee: Alessio Soldano
>            Priority: Minor
>             Fix For: jbossws-cxf-4.3
>
>
> The WebService part of Jboss eap 6 doesn't support double slash ('//') in URI (although JBoss 5 supports it and the Web connector also supports it).
> That's to say, those 3 urls should represent the same one :
> * http://localhost:8080/ws/myWs?wsdl
> * http://localhost:8080/ws//myWs?wsdl
> * http://localhost:8080//ws/myWs?wsdl
> BUT only the first one is accepted by JBoss. The others raise that stack trace:
> javax.servlet.ServletException: JBWS024029: Cannot obtain destination for /ws//myWs
> 	org.jboss.wsf.stack.cxf.RequestHandlerImpl.findDestination(RequestHandlerImpl.java:170)
> 	org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:87)
> 	org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:156)
> 	org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:87)
> 	org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:225)
> 	org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:150)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> 	org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:135)
> 	org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> AND if I call the following URL, it works : http://localhost:8080/./ws/myWs?wsdl
> IMHO, the method org.jboss.wsf.stack.cxf.RequestHandlerImpl.findDestination should use a "canonical path" before testing the equality.



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the jbossws-issues mailing list