[
https://issues.jboss.org/browse/JBWS-3741?page=com.atlassian.jira.plugin....
]
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)