You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Kumar <ba...@gmail.com> on 2005/07/08 07:00:32 UTC

AxisFault: Document root element is missing

Hi All,

I have a web service developed using .NET SOAP Toolkit and when I try
to consume that service using AXIS 1.2.1 Final java client I am
getting below axis fault from the service . Now can anyone please tell
what am I missing here.

The request soap message that the client generates conforms to the
wsdl and still why the service complains with below axis fault :



WSDL
-------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<definitions    xmlns:s1="http://amla.org/"
               xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
               xmlns:s="http://www.w3.org/2001/XMLSchema"
               xmlns:s0="http://mr.com/services/"
               xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
               xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
               xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
               targetNamespace="http://mr.com/services/"
               xmlns="http://schemas.xmlsoap.org/wsdl/">

 <types>

   <s:schema elementFormDefault="qualified"
               targetNamespace="http://mr.com/services/">
     <s:import namespace="http://amla.org/" />
     <s:element name="GLR">
       <s:complexType>
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="request"
type="s1:LRRequest" />
         </s:sequence>
       </s:complexType>
     </s:element>
     <s:element name="GLRResponse">
       <s:complexType>
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1"
name="GLRResult" type="s1:LRResponse" />
         </s:sequence>
       </s:complexType>
     </s:element>
     <s:element name="GLRTest">
       <s:complexType>
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="TierName"
type="s:string" />
           <s:element minOccurs="1" maxOccurs="1" name="MinPoints"
type="s:int" />
           <s:element minOccurs="1" maxOccurs="1" name="MaxPoints"
type="s:int" />
         </s:sequence>
       </s:complexType>
     </s:element>
     <s:element name="GLRTestResponse">
       <s:complexType>
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1"
name="GLRTestResult" type="s1:LRResponse" />
         </s:sequence>
       </s:complexType>
     </s:element>
     <s:element name="LRResponse" nillable="true"
type="s1:LRResponse" />
   </s:schema>

   <s:schema elementFormDefault="qualified"
targetNamespace="http://amla.org/">
     <s:complexType name="LRRequest">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="ClientID"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="CardProduct"
type="s:string" />
         <s:element minOccurs="1" maxOccurs="1" name="EndPointRange"
type="s:int" />
         <s:element minOccurs="1" maxOccurs="1"
name="StartPointRange" type="s:int" />
         <s:element minOccurs="0" maxOccurs="1" name="Tier" type="s:string" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="LRResponse">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="ErrorCode"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1"
name="ErrorDescription" type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="Rewards"
type="s1:ArrayOfLR" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="ArrayOfLR">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="unbounded"
name="LR" type="s1:LR" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="LR">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1" name="Description"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="DetailPageURL"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
         <s:element minOccurs="1" maxOccurs="1" name="Points" type="s:float" />
         <s:element minOccurs="0" maxOccurs="1" name="RewardCode"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="RewardSubCode"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="SmallImageURL"
type="s:string" />
         <s:element minOccurs="0" maxOccurs="1" name="LargeImageURL"
type="s:string" />
       </s:sequence>
     </s:complexType>
   </s:schema>
 </types>

 <message name="GLRSoapIn">
   <part name="parameters" element="s0:GLR" />
 </message>
 <message name="GLRSoapOut">
   <part name="parameters" element="s0:GLRResponse" />
 </message>
 <message name="GLRTestSoapIn">
   <part name="parameters" element="s0:GLRTest" />
 </message>
 <message name="GLRTestSoapOut">
   <part name="parameters" element="s0:GLRTestResponse" />
 </message>
 <message name="GLRTestHttpGetIn">
   <part name="TierName" type="s:string" />
   <part name="MinPoints" type="s:string" />
   <part name="MaxPoints" type="s:string" />
 </message>
 <message name="GLRTestHttpGetOut">
   <part name="Body" element="s0:LRResponse" />
 </message>
 <message name="GLRTestHttpPostIn">
   <part name="TierName" type="s:string" />
   <part name="MinPoints" type="s:string" />
   <part name="MaxPoints" type="s:string" />
 </message>
 <message name="GLRTestHttpPostOut">
   <part name="Body" element="s0:LRResponse" />
 </message>

 <portType name="LRSoap">
   <operation name="GLR">
     <input message="s0:GLRSoapIn" />
     <output message="s0:GLRSoapOut" />
   </operation>
   <operation name="GLRTest">
     <input message="s0:GLRTestSoapIn" />
     <output message="s0:GLRTestSoapOut" />
   </operation>
 </portType>

 <portType name="LRHttpGet">
   <operation name="GLRTest">
     <input message="s0:GLRTestHttpGetIn" />
     <output message="s0:GLRTestHttpGetOut" />
   </operation>
 </portType>

 <portType name="LRHttpPost">
   <operation name="GLRTest">
     <input message="s0:GLRTestHttpPostIn" />
     <output message="s0:GLRTestHttpPostOut" />
   </operation>
 </portType>

 <binding name="LRSoap" type="s0:LRSoap">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
   <operation name="GLR">
     <soap:operation
soapAction="http://mr.com/services/GLR"
style="document" />
     <input>
       <soap:body use="literal" />
     </input>
     <output>
       <soap:body use="literal" />
     </output>
   </operation>
   <operation name="GLRTest">
     <soap:operation
soapAction="http://mr.com/services/GLRTest"
style="document" />
     <input>
       <soap:body use="literal" />
     </input>
     <output>
       <soap:body use="literal" />
     </output>
   </operation>
 </binding>

 <binding name="LRHttpGet" type="s0:LRHttpGet">
   <http:binding verb="GET" />
   <operation name="GLRTest">
     <http:operation location="/GLRTest" />
     <input>
       <http:urlEncoded />
     </input>
     <output>
       <mime:mimeXml part="Body" />
     </output>
   </operation>
 </binding>

 <binding name="LRHttpPost" type="s0:LRHttpPost">
   <http:binding verb="POST" />
   <operation name="GLRTest">
     <http:operation location="/GLRTest" />
     <input>
       <mime:content type="application/x-www-form-urlencoded" />
     </input>
     <output>
       <mime:mimeXml part="Body" />
     </output>
   </operation>
 </binding>

 <service name="LR">
   <port name="LRSoap" binding="s0:LRSoap">
     <soap:address location="http://mm.com/dra/services/lr.asmx" />
   </port>
   <port name="LRHttpGet" binding="s0:LRHttpGet">
     <http:address location="http://mm.com/dra/services/lr.asmx" />
   </port>
   <port name="LRHttpPost" binding="s0:LRHttpPost">
     <http:address location="http://mm.com/dra/services/lr.asmx" />
   </port>
 </service>
</definitions>





SOAP Request Message generated by AXIS 1.2.1 Final Client
-----------------------------------------------------------------------------------------------------------------
<soapenv:Envelope
       xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

       <soapenv:Body>
               <GLR xmlns="http://mr.com/services/">
                       <request>
                               <ns1:ClientID
xmlns:ns1="http://amla.org/">100</ns1:ClientID>
                               <ns2:CardProduct
xmlns:ns2="http://amla.org/">TV</ns2:CardProduct>
                               <ns3:EndPointRange
xmlns:ns3="http://amla.org/">200</ns3:EndPointRange>
                               <ns4:StartPointRange
xmlns:ns4="http://amla.org/">100</ns4:StartPointRange>
                               <ns5:Tier
xmlns:ns5="http://amla.org/">Tier1</ns5:Tier>
                       </request>
               </GLR>
       </soapenv:Body>
</soapenv:Envelope>






Response  SOAP Message from Service
-------------------------------------------------------------------------------------------------------------------
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.xml.sax.SAXParseException: Document root element is missing.
 faultActor:
 faultNode:
 faultDetail:
       {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXParseException:
Document root element is missing.
       at org.apache.crimson.parser.Parser2.fatal(Unknown Source)
       at org.apache.crimson.parser.Parser2.fatal(Unknown Source)
       at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
       at org.apache.crimson.parser.Parser2.parse(Unknown Source)
       at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
       at javax.xml.parsers.SAXParser.parse(Unknown Source)
       at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
       at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
       at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
       at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
       at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
       at org.apache.axis.client.Call.invokeEngine(Call.java:2754)
       at org.apache.axis.client.Call.invoke(Call.java:2737)
       at org.apache.axis.client.Call.invoke(Call.java:2413)
       at org.apache.axis.client.Call.invoke(Call.java:2336)
       at org.apache.axis.client.Call.invoke(Call.java:1793)
       at lr.LRSoap_BindingStub.getLR(LRSoap_BindingStub.java:188)
       at Client.main(Client.java:30)

       {http://xml.apache.org/axis/}hostname:L0337

org.xml.sax.SAXParseException: Document root element is missing.
       at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
       at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
       at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
       at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
       at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
       at org.apache.axis.client.Call.invokeEngine(Call.java:2754)
       at org.apache.axis.client.Call.invoke(Call.java:2737)
       at org.apache.axis.client.Call.invoke(Call.java:2413)
       at org.apache.axis.client.Call.invoke(Call.java:2336)
       at org.apache.axis.client.Call.invoke(Call.java:1793)
       at lr.LRSoap_BindingStub.getLR(LRSoap_BindingStub.java:188)
       at Client.main(Client.java:30)
Caused by: org.xml.sax.SAXParseException: Document root element is missing.
       at org.apache.crimson.parser.Parser2.fatal(Unknown Source)
       at org.apache.crimson.parser.Parser2.fatal(Unknown Source)
       at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
       at org.apache.crimson.parser.Parser2.parse(Unknown Source)
       at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
       at javax.xml.parsers.SAXParser.parse(Unknown Source)
       at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
       at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
       ... 10 more





Thanks & Regards,
Kumar.