eclipse-ee4j / jax-rpc-ri

JAX RPC Implementation (Eclipse Metro Project)
Other
2 stars 4 forks source link

JAX-RPC Message handler broken #32

Open Tomas-Kraus opened 17 years ago

Tomas-Kraus commented 17 years ago

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]

Tomas-Kraus commented 6 years ago
Tomas-Kraus commented 17 years ago

@glassfishrobot Commented Reported by sauvage@java.net

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented sauvage@java.net said: Created an attachment (id=9) proposed patch

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented sauvage@java.net said: Created an attachment (id=10) test case

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented sauvage@java.net said: Use TestWebService/test/Hello-soapui-project.xml SOAPUI project to reproduce the error.

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented File: StreamingHandler.diff Attached By: sauvage@java.net

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented File: TestWebService.zip Attached By: sauvage@java.net

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented Issue-Links: blocks GLASSFISH-2451

Tomas-Kraus commented 17 years ago

@glassfishrobot Commented Was assigned to jax-rpc-issues

Tomas-Kraus commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA JAX_RPC-32