You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by sa...@bt.com on 2002/08/28 18:52:12 UTC

Problems with complex Datatypes

All,

Probably this type of problem may have been addressed before on this forum,
but please give me some pointers/indicators to answers. I would very much
appreciate it.

Basically I get the following exception of not being able to Deserialize,
using complex Data type.

I have pasted WSDL and StackTrace below for reference.

Please help me ASAP.

Regards,

Santosh

"THE WSDL IS ATTACHED BELOW"

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://trial"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:impl="http://trial-impl" xmlns:intf="http://trial"
xmlns:tns8="http://bind.xml.javax"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <types>
  <schema targetNamespace="http://trial"
xmlns="http://www.w3.org/2001/XMLSchema">
   <complexType name="IncomingData">
    <complexContent>
     <extension base="tns8:MarshallableRootElement">
      <sequence>
       <element name="FirstInt" type="xsd:int"/>
       <element name="FirstString" nillable="true" type="xsd:string"/>
       <element name="FirstFloat" type="xsd:float"/>
       <element name="SecondInt" type="xsd:int"/>
       <element name="SecondString" nillable="true" type="xsd:string"/>
       <element name="SecondFloat" type="xsd:float"/>
       <element name="ThirdInt" type="xsd:int"/>
       <element name="ThirdString" nillable="true" type="xsd:string"/>
       <element name="ThirdFloat" type="xsd:float"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <element name="IncomingData" nillable="true" type="intf:IncomingData"/>
   <complexType name="OutgoingData">
    <complexContent>
     <extension base="tns8:MarshallableRootElement">
      <sequence>
       <element name="FirstInt" type="xsd:int"/>
       <element name="FirstString" nillable="true" type="xsd:string"/>
       <element name="FirstFloat" type="xsd:float"/>
       <element name="SecondInt" type="xsd:int"/>
       <element name="SecondString" nillable="true" type="xsd:string"/>
       <element name="SecondFloat" type="xsd:float"/>
       <element name="ThirdInt" type="xsd:int"/>
       <element name="ThirdString" nillable="true" type="xsd:string"/>
       <element name="ThirdFloat" type="xsd:float"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>
   <element name="OutgoingData" nillable="true" type="intf:OutgoingData"/>
  </schema>
  <schema targetNamespace="http://bind.xml.javax"
xmlns="http://www.w3.org/2001/XMLSchema">
   <complexType name="MarshallableRootElement">
    <complexContent>
     <extension base="tns8:MarshallableObject">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="MarshallableObject">
    <complexContent>
     <extension base="tns8:ValidatableObject">
      <sequence/>
     </extension>
    </complexContent>
   </complexType>
   <complexType name="ValidatableObject">
    <sequence/>
   </complexType>
  </schema>
 </types>

   <wsdl:message name="invokeObjectRequest">

      <wsdl:part name="ipData" type="intf:IncomingData"/>

   </wsdl:message>

   <wsdl:message name="invokeObjectResponse">

      <wsdl:part name="return" type="intf:OutgoingData"/>

   </wsdl:message>

   <wsdl:portType name="WSBridgeServicePortType">

      <wsdl:operation name="invokeObject" parameterOrder="ipData">

         <wsdl:input message="intf:invokeObjectRequest"/>

         <wsdl:output message="intf:invokeObjectResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="WSBridgeServicePortSoapBinding"
type="intf:WSBridgeServicePortType">

      <wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="invokeObject">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input>

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://trial" use="encoded"/>

         </wsdl:input>

         <wsdl:output>

            <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://trial" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="WSBridgeService">

      <wsdl:port binding="intf:WSBridgeServicePortSoapBinding"
name="WSBridgeServicePort">

         <wsdlsoap:address
location="http://localhost:8080/axis/services/WSBridgeServicePort"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>




"THE STACK TRACE IS ATTACHED BELOW"

org.xml.sax.SAXException: Deserializing parameter 'ipData':  could not find
deserializer for type http://trial:IncomingData 	

at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:13
5) 	
at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:865) 	
at
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.jav
a:559)Caught Exception: org.xml.sax.SAXException: Deserializing parameter
'ipData':  could not find deserializer for type http://trial:IncomingData

at
org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceBinde
r.java:853) at
org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java
:643) 	
at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.
java:2978) 
at
org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:9
18) 	
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(XMLDo
cumentFragmentScannerImpl.java:1145) 	
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocu
mentFragmentScannerImpl.java:988) 	
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(XMLDocumentFragmentScannerImpl.java:1446) 	
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333) 	
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:529) 	
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:585) 	
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147) 	
at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:114
8) 	
at javax.xml.parsers.SAXParser.parse(SAXParser.java:394) 	
at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:201) 	
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:428) 	
at org.apache.axis.client.Call.invoke(Call.java:1794) 	
at org.apache.axis.client.Call.invoke(Call.java:1596) 	
at org.apache.axis.client.Call.invoke(Call.java:1515) 	
at org.apache.axis.client.Call.invoke(Call.java:1095) 	
at
trial.WSBridgeServicePortSoapBindingStub.invokeObject(WSBridgeServicePortSoa
pBindingStub.java:153) 	
at trial.testclient.main(testclient.java:41)