[jbossws-issues] [JBoss JIRA] Commented: (JBWS-1905) jaxws-samples-logicalhandler-jaxb.war produces: java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl

Richard Opalka (JIRA) jira-events at lists.jboss.org
Fri Jan 4 05:23:43 EST 2008


    [ http://jira.jboss.com/jira/browse/JBWS-1905?page=comments#action_12393826 ] 
            
Richard Opalka commented on JBWS-1905:
--------------------------------------

The problem is the following line:

SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();

It relies on the fact SOAP body has just one element (in our case "echo"), but if your message is not inlined then

(SOAPElement)soapMessage.getSOAPBody().getChildElements() 

call returns iterator with three items (not just one as expected by test).
The first one is TextImpl (with value '\n   '), the second one is SOAPElement (our expected "echo" element) and the
last one is TextImpl(with value '   \n').


> jaxws-samples-logicalhandler-jaxb.war produces: java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: JBWS-1905
>                 URL: http://jira.jboss.com/jira/browse/JBWS-1905
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>         Environment: java version "1.5.0_11"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
> Linux alpha 2.6.20-1.2944.fc6 #1 SMP Tue Apr 10 18:46:45 EDT 2007 i686 i686 i386 GNU/Linux
>            Reporter: Shane Sarver
>         Assigned To: Richard Opalka
>
> Executing the following test with the following ant.properties produces zero errors.
> cd jbossws-native-2.0.1.GA
> ant -Dtest=jaxws/samples/logicalhandler test
> tests-run-internal:
>     [junit] Running org.jboss.test.ws.jaxws.samples.logicalhandler.LogicalHandlerJAXBTestCase
>     [junit] JBoss Inc., JBoss Web Services - Native, jbossws-native-2.0.1.GA (build=200708171857)
>     [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 14.751 sec
>     [junit] Running org.jboss.test.ws.jaxws.samples.logicalhandler.LogicalHandlerSourceTestCase
>     [junit] JBoss Inc., JBoss Web Services - Native, jbossws-native-2.0.1.GA (build=200708171857)
>     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 11.05 sec
> BUILD SUCCESSFUL
> Total time: 32 seconds
> #################################################################
> #
> # A sample ant properties file
> #
> # $Id: ant.properties.example 3137 2007-05-18 13:41:57Z thomas.diesler at jboss.com $
> # Optional JBoss Home
> #jboss50.home=/home/tdiesler/svn/jbossas/trunk/build/output/jboss-5.0.0.Beta3
> #jboss42.home=/home/tdiesler/svn/jbossas/tags/JBoss_4_2_1_GA/build/output/jboss-4.2.1.GA
> #jboss40.home=/home/tdiesler/svn/jbossas/tags/JBoss_4_0_5_GA/build/output/jboss-4.0.5.GA-ejb3
> jboss42.home=${env.JBOSS_HOME}
> # The JBoss server under test. This can be [jboss50|jboss42|jboss40]
> jbossws.integration.target=jboss42
> # The JBoss settings
> jboss.server.instance=default
> #jboss.bind.address=localhost
> jboss.bind.address=alpha
> # JBoss Repository
> #jboss.repository=file:/home/tdiesler/svn/jboss.local.repository
> jboss.repository=http://repository.jboss.org
> # JBoss JMX invoker authentication
> #jmx.authentication.username=admin
> #jmx.authentication.password=admin
> # Java Compiler options
> javac.debug=yes
> javac.deprecation=no
> javac.fail.onerror=yes
> javac.verbose=no
> ###################################################################
> However, jbossws-native-2.0.1.GA/output/libs/jaxws-samples-logicalhandler-jaxb.war 
> deployed to jboss-4.2.2.GA/server/default/deploy 
> produces the following stack trace when invoking the web service with the following SOAP request:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:log="http://org.jboss.ws/jaxws/samples/logicalhandler">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <log:echo>
>          <log:String_1>foo</log:String_1>
>       </log:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> 12:05:16,926 ERROR [HandlerChainExecutor] Exception during handler processing
> java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl
>         at org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler.appendHandlerName(PortHandler.java:62)
>         at org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler.handleInbound(PortHandler.java:54)
>         at org.jboss.wsf.test.GenericHandler.handleMessage(GenericHandler.java:53)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
>         at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
>         at org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:126)
>         at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:198)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
>         at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>         at java.lang.Thread.run(Thread.java:595)
> 12:05:16,940 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
> javax.xml.ws.WebServiceException: java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.processHandlerFailure(HandlerChainExecutor.java:276)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:155)
>         at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
>         at org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:126)
>         at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:198)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
>         at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl
>         at org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler.appendHandlerName(PortHandler.java:62)
>         at org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler.handleInbound(PortHandler.java:54)
>         at org.jboss.wsf.test.GenericHandler.handleMessage(GenericHandler.java:53)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
>         ... 27 more
> 12:05:17,141 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
> javax.xml.ws.WebServiceException: java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.processHandlerFailure(HandlerChainExecutor.java:276)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:155)
>         at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:87)
>         at org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:126)
>         at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:198)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:408)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
>         at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
>         at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.ClassCastException: org.jboss.ws.core.soap.TextImpl
>         at org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler.appendHandlerName(PortHandler.java:62)
>         at org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler.handleInbound(PortHandler.java:54)
>         at org.jboss.wsf.test.GenericHandler.handleMessage(GenericHandler.java:53)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
>         at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
>         ... 27 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossws-issues mailing list