Search code examples
androidksoap2httptransportse

Using response.Dump


Can somebody please tell me how to use response.Dump? my code Errors out after this line:

androidHttpTransport.call(SOAP_ACTION, envelope);

With a org.xmlpull.v1.XmlPullParserException: expected: START_TAG error, so I want to compare the xml files but when I try to add response.Dump after this line it never hits it, can somebody tell me where to put it at in order to get it working?

public void getMessage() {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

    //Create envelope
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    //Set output SOAP object
    envelope.setOutputSoapObject(request);
    //Create HTTP call object
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try {
        //Invoke web service
        androidHttpTransport.debug=true;
        androidHttpTransport.setXmlVersionTag("<!--?xml version=\"1.0\" encoding= \"UTF-8\" ?-->");
        String blah = androidHttpTransport.requestDump;
        androidHttpTransport.call(SOAP_ACTION, envelope);
        //Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        //Assign it to fahren static variable
        message = response.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

EDIT:

response.dump:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-  strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans- serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;} 
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;} 
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-  serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
  <h3>You do not have permission to view this directory or page using the credentials that you    supplied.</h3>
 </fieldset></div>
</div>
</body>
</html>

I don't think this is supposed to be in html.. idk why it is though...

request.dump:

<!--?xml version="1.0" encoding= "UTF-8" ?-->
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance"   xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://www.w3.org/2003/05/soap-encoding"   xmlns:v="http://www.w3.org/2003/05/soap-envelope">
    <v:Header />
    <v:Body>
        <HelloWorld xmlns="http://tempuri.org/" id="o0" c:root="1" />
    </v:Body>
</v:Envelope>

Solution

  • ksoap2 org.xmlpull.v1.xmlpullparserexception expected start_tag error

    This may help you in your error.

    As for the responseDump, you won't receive it unless you get back a response from the web service. In your case, I believe you're encountering the error even before you receive any sort of a response.

    When you do solve the start_tag error, you can get the responseDump just like how you got the requestDump with androidHttpTransport.responseDump which returns a string