Open Tomas-Kraus opened 17 years ago
@glassfishrobot Commented Reported by sauvage@java.net
@glassfishrobot Commented sauvage@java.net said: Created an attachment (id=9) proposed patch
@glassfishrobot Commented sauvage@java.net said: Created an attachment (id=10) test case
@glassfishrobot Commented sauvage@java.net said: Use TestWebService/test/Hello-soapui-project.xml SOAPUI project to reproduce the error.
@glassfishrobot Commented File: StreamingHandler.diff Attached By: sauvage@java.net
@glassfishrobot Commented File: TestWebService.zip Attached By: sauvage@java.net
@glassfishrobot Commented Issue-Links: blocks GLASSFISH-2451
@glassfishrobot Commented Was assigned to jax-rpc-issues
@glassfishrobot Commented This issue was imported from java.net JIRA JAX_RPC-32
Hi,
When I set a JAX-RPC message handler to a web service and call it without Sun's SOAP API I get the following stack trace: java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.TextImpl at com.sun.xml.rpc.server.StreamingHandler.getOpcodeForRequestMessage(StreamingHandler.java:628) at com.sun.enterprise.webservice.WsUtil.getInvMethod(WsUtil.java:943) at com.sun.enterprise.webservice.ServletPreHandler.handleRequest(ServletPreHandler.java:55) at com.sun.xml.rpc.client.HandlerChainImpl.handleRequest(HandlerChainImpl.java:86) at com.sun.xml.rpc.server.StreamingHandler.callRequestHandlers(StreamingHandler.java:918) at com.sun.xml.rpc.server.StreamingHandler.preHandlingHook(StreamingHandler.java:831) at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:102) at com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:443) at com.sun.enterprise.webservice.JAXRPCServlet.doPost(JAXRPCServlet.java:50) at javax.servlet.http.HttpServlet.service(HttpServlet.java:767) at javax.servlet.http.HttpServlet.service(HttpServlet.java:860) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403) at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
This happens because com.sun.xml.rpc.server.StreamingHandler wrongly assumes the first child of SOAP Body is an element but it is text in this case.
Regards,
Laurent. NB: This bug is duplicate of glassfish Hi,
When I set a JAX-RPC message handler to a web service and call it without Sun's SOAP API I get the following stack trace: java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.impl.TextImpl at com.sun.xml.rpc.server.StreamingHandler.getOpcodeForRequestMessage(StreamingHandler.java:628) at com.sun.enterprise.webservice.WsUtil.getInvMethod(WsUtil.java:943) at com.sun.enterprise.webservice.ServletPreHandler.handleRequest(ServletPreHandler.java:55) at com.sun.xml.rpc.client.HandlerChainImpl.handleRequest(HandlerChainImpl.java:86) at com.sun.xml.rpc.server.StreamingHandler.callRequestHandlers(StreamingHandler.java:918) at com.sun.xml.rpc.server.StreamingHandler.preHandlingHook(StreamingHandler.java:831) at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:102) at com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:443) at com.sun.enterprise.webservice.JAXRPCServlet.doPost(JAXRPCServlet.java:50) at javax.servlet.http.HttpServlet.service(HttpServlet.java:767) at javax.servlet.http.HttpServlet.service(HttpServlet.java:860) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534) at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403) at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
This happens because com.sun.xml.rpc.server.StreamingHandler wrongly assumes the first child of SOAP Body is an element but it is text in this case.
Regards,
Laurent. NB: This bug is duplicate of glassfish bug #2451..
Environment
Operating System: All Platform: All
Affected Versions
[current]