The response message doesn't conform to the WSDL. The WSDL doesn't
mention the <xs:schema> or <diffgr:diffgram> elements that are
included in the response message. Note, also, that the remainder of
the response message doesn't conform either to the WSDL or the
embedded schema, because both tell you to expect a node called <Node>,
but it in fact returns a node called <node>. (XML is case sensitive.)

The service is trying to return a .NET DataSet, which is a no-no for
interoperability.

You need to go back to your external service provider and ask them to
provide you with a WSDL that actually describes the expected response
message. You might also tell them that their service should not return
a .NET DataSet, and that the DataSet should be converted into a simple
array. If they won't change the service for you, you will probably
need to process the response message programmatically.

Anne

On 7/15/05, Richard Schrauwen <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> I'm using axis 1.2 to create a web service client based on a WSDL file. The
> WSDL is from an external .net system and I have created the java stubs for
> it. Now I have this problem that the 'GetTreeResponseGetTreeResult' response
> the server gives me for a 'GetTree' soap call cannot be deserialised because
> of a 'schema' element? I saw some similar problems on this list, but not
> quite the same as this....
> 
> This is the axis fault I get and below is the wsdl part and soap response. I
> hope anyone has a clue about what's wrong here.
> 
> thanks,
> Richard
> 
> * AxisFault:
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
> faultSubcode:
> faultString: org.xml.sax.SAXException: Invalid element in
> com.ericsson.sicc.drgelementmanager.GetTreeResponseGetTreeResult - schema
> faultActor:
> faultNode:
> faultDetail:
>         {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException:
> Invalid element in
> com.ericsson.sicc.drgelementmanager.GetTreeResponseGetTreeResult - schema
>         at
> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:255)
>         at
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
>         at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
>         at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
>         at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:345)
> 
> 
> * wsdl extract:
> <?xml version="1.0" encoding="utf-8"?>
> <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by John
> (42networks) -->
> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:i1="http://www.tempuri.org/NodeContents.xsd";
> xmlns:s="http://www.w3.org/2001/XMLSchema";
> xmlns:s0="http://42Networks.com/cpe/DRGMgr";
> xmlns:i5="http://tempuri.org/AutoUpgrade.xsd";
> xmlns:i4="http://www.tempuri.org/Templates.xsd";
> xmlns:i3="http://www.tempuri.org/Element.xsd";
> xmlns:i2="http://tempuri.org/NewElement.xsd";
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:i0="http://www.tempuri.org/Node.xsd";
> xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/";
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
> xmlns="http://schemas.xmlsoap.org/wsdl/";
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> targetNamespace="http://42Networks.com/cpe/DRGMgr";>
> <types>
>   <s:schema elementFormDefault="qualified"
> targetNamespace="http://42Networks.com/cpe/DRGMgr";>
>    <s:import namespace="http://www.w3.org/2001/XMLSchema"/>
>    <s:element name="GetTree">
>     <s:complexType/>
>    </s:element>
>    <s:element name="GetTreeResponse">
>     <s:complexType>
>      <s:sequence>
>       <s:element minOccurs="0" maxOccurs="1" name="GetTreeResult">
>        <s:complexType>
>         <s:sequence>
>          <xs:element name="Node">
>           <xs:complexType>
>            <xs:choice maxOccurs="unbounded">
>             <xs:element name="TreeTblNode">
>              <xs:complexType>
>               <xs:sequence>
>                <xs:element name="ID" type="xs:int"/>
>                <xs:element name="ParentID" type="xs:int" minOccurs="0"/>
>                <xs:element name="Name" type="xs:string" minOccurs="0"/>
>               </xs:sequence>
>              </xs:complexType>
>             </xs:element>
>            </xs:choice>
>           </xs:complexType>
>          </xs:element>
>         </s:sequence>
>        </s:complexType>
>       </s:element>
>      </s:sequence>
>     </s:complexType>
>    </s:element>
> .....
> 
> * SOAPResponse:
> HTTP/1.1        200 OK
> Server: Microsoft-IIS/5.0
> Date:   Thu, 14 Jul     2005 11:59:50 GMT
> X-Powered-By: ASP.NET
> X-AspNet-Version:       1.1.4322
> Cache-Control:  private,        max-age=0
> Content-Type: text/xml; charset=utf-8
> Content-Length: 1682
> 
> <?xml version="1.0" encoding="utf-8" ?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> <soap:Body>
> <GetTreeResponse xmlns="http://42Networks.com/cpe/DRGMgr";>
>   <GetTreeResult>
>    <xs:schema id="Node" targetNamespace="http://www.tempuri.org/Node.xsd";
> xmlns:mstns="http://www.tempuri.org/Node.xsd";
> xmlns="http://www.tempuri.org/Node.xsd";
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
> attributeFormDefault="qualified" elementFormDefault="qualified">
>     <xs:element name="Node" msdata:IsDataSet="true"; msdata:Locale="sv-SE";>
>      <xs:complexType>
>       <xs:choice maxOccurs="unbounded">
>        <xs:element name="TreeTblNode">
>         <xs:complexType>
>          <xs:sequence>
>           <xs:element name="ID" msdata:AutoIncrement="true"; type="xs:int" />
>           <xs:element name="ParentID" type="xs:int" minOccurs="0" />
>           <xs:element name="Name" type="xs:string" minOccurs="0" />
>          </xs:sequence>
>         </xs:complexType>
>        </xs:element>
>       </xs:choice>
>      </xs:complexType>
>      <xs:unique name="NodeKey1" msdata:PrimaryKey="true";>
>       <xs:selector xpath=".//mstns:TreeTblNode" />
>       <xs:field xpath="mstns:ID" />
>      </xs:unique>
>     </xs:element>
>    </xs:schema>
>    <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
> xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
>     <node xmlns="http://www.tempuri.org/Node.xsd";>
>      <TreeTblNode diffgr:id="TreeTblNode1" msdata:rowOrder="0";>
>       <ID>1</ID>
>       <Name>Root</Name>
>      </TreeTblNode>
>      <TreeTblNode diffgr:id="TreeTblNode2" msdata:rowOrder="1";>
>       <ID>2</ID>
>       <ParentID>1</ParentID>
>       <Name>Test</Name>
>      </TreeTblNode>
>     </Node>
>    </diffgr:diffgram>
>   </GetTreeResult>
> </GetTreeResponse>
> </soap:Body>
> </soap:Envelope>
> 
> 
>

Reply via email to