Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.3
-
None
-
XP Professional, Tomcat App server 5.5
Description
I use a wsdl file which works in 1.4 and run it thru wsdl2java in axis2 1.3rc2 and everything builds properly. The service deploys fine and then when I try to use the service I get the following stack trace from the soap monitor:
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>org.apache.xmlbeans.impl.values.XmlComplexContentImpl cannot be cast to peoiws5.mdiapps.soap.HandleTrackInfoLiteEventDocument</faultstring>
<detail>
<Exception>
org.apache.axis2.AxisFault: org.apache.xmlbeans.impl.values.XmlComplexContentImpl cannot be cast to peoiws5.mdiapps.soap.HandleTrackInfoLiteEventDocument
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at com.am.service.xmlbeans.TrackLiteDataHandlerWSServiceMessageReceiverInOut.fromOM(TrackLiteDataHandlerWSServiceMessageReceiverInOut.java:322)
at com.am.service.xmlbeans.TrackLiteDataHandlerWSServiceMessageReceiverInOut.invokeBusinessLogic(TrackLiteDataHandlerWSServiceMessageReceiverInOut.java:42)
at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:95)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:276)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: org.apache.xmlbeans.impl.values.XmlComplexContentImpl cannot be cast to peoiws5.mdiapps.soap.HandleTrackInfoLiteEventDocument
at peoiws5.mdiapps.soap.HandleTrackInfoLiteEventDocument$Factory.parse(HandleTrackInfoLiteEventDocument.java:128)
at com.am.service.xmlbeans.TrackLiteDataHandlerWSServiceMessageReceiverInOut.fromOM(TrackLiteDataHandlerWSServiceMessageReceiverInOut.java:220)
... 22 more
</Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
The wsdl I am using is below:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:soap.mdiapps.peoiws5"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:soap.mdiapps.peoiws5"
xmlns:cvg="urn:data.soap.mdiapps.peoiws5"
xmlns:ce="urn:exception.soap.mdiapps.peoiws5"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:import namespace="urn:trackinfo.lite.soap.mdiapps.peoiws5" location="./xsd/lite/lite-track-info.xsd"/>
<wsdl:import namespace="urn:exception.soap.mdiapps.peoiws5" location="./xsd/exception.xsd"/>
<wsdl:types>
<xsd:schema
elementFormDefault="qualified"
targetNamespace="urn:soap.mdiapps.peoiws5"
xmlns="http://www.w3.org/2001/XMLSchema">
<xsd:element name="handleTrackInfoLiteEvent">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="eventHolder" type="cvg:InfoObjectEventBeanHolder"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="handleTrackInfoLiteEventResponse">
<xsd:complexType/>
</xsd:element>
<xsd:element name="handleTrackInfoLiteEvents">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="eventsHolder" type="cvg:InfoObjectEventBeansHolder" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="handleTrackInfoLiteEventsResponse">
<xsd:complexType />
</xsd:element>
<xsd:element name="fault" type="ce:CommunicationException"/>
<xsd:element name="fault1" type="ce:ServiceUnavailableException"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="handleTrackInfoLiteEventsResponse">
<wsdl:part element="impl:handleTrackInfoLiteEventsResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="handleTrackInfoLiteEventResponse">
<wsdl:part element="impl:handleTrackInfoLiteEventResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="handleTrackInfoLiteEventsRequest">
<wsdl:part element="impl:handleTrackInfoLiteEvents" name="parameters" />
</wsdl:message>
<wsdl:message name="CommunicationException">
<wsdl:part element="impl:fault" name="fault"/>
</wsdl:message>
<wsdl:message name="handleTrackInfoLiteEventRequest">
<wsdl:part element="impl:handleTrackInfoLiteEvent" name="parameters"/>
</wsdl:message>
<wsdl:message name="ServiceUnavailableException">
<wsdl:part element="impl:fault1" name="fault"/>
</wsdl:message>
<wsdl:portType name="TrackLiteDataHandlerWS">
<wsdl:operation name="handleTrackInfoLiteEvent">
<wsdl:input message="impl:handleTrackInfoLiteEventRequest" name="handleTrackInfoLiteEventRequest"/>
<wsdl:output message="impl:handleTrackInfoLiteEventResponse" name="handleTrackInfoLiteEventResponse"/>
<wsdl:fault message="impl:CommunicationException" name="CommunicationException"/>
<wsdl:fault message="impl:ServiceUnavailableException" name="ServiceUnavailableException"/>
</wsdl:operation>
<wsdl:operation name="handleTrackInfoLiteEvents">
<wsdl:input message="impl:handleTrackInfoLiteEventsRequest" name="handleTrackInfoLiteEventsRequest" />
<wsdl:output message="impl:handleTrackInfoLiteEventsResponse" name="handleTrackInfoLiteEventsResponse" />
<wsdl:fault message="impl:CommunicationException" name="CommunicationException" />
<wsdl:fault message="impl:ServiceUnavailableException" name="ServiceUnavailableException" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TrackLiteDataHandlerWSSoapBinding" type="impl:TrackLiteDataHandlerWS">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="handleTrackInfoLiteEvent">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="handleTrackInfoLiteEventRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="handleTrackInfoLiteEventResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="CommunicationException">
<wsdlsoap:fault name="CommunicationException" use="literal"/>
</wsdl:fault>
<wsdl:fault name="ServiceUnavailableException">
<wsdlsoap:fault name="ServiceUnavailableException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="handleTrackInfoLiteEvents">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="handleTrackInfoLiteEventsRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="handleTrackInfoLiteEventsResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
<wsdl:fault name="CommunicationException">
<wsdlsoap:fault name="CommunicationException" use="literal" />
</wsdl:fault>
<wsdl:fault name="ServiceUnavailableException">
<wsdlsoap:fault name="ServiceUnavailableException" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TrackLiteDataHandlerWSService">
<wsdl:port binding="impl:TrackLiteDataHandlerWSSoapBinding" name="TrackLiteDataHandlerWS">
<wsdlsoap:address location="http://127.0.0.1:8080/mdi/services/TrackLiteDataHandlerWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>