有人可以告诉我如何使用response.Dump
吗?我的代码在此行之后出错:
androidHttpTransport.call(SOAP_ACTION, envelope);
出现org.xmlpull.v1.XmlPullParserException: expected: START_TAG
错误,所以我想要比较xml文件,但是当我尝试在此行之后添加response.Dump
时,它永远不会命中它,有人可以告诉我将它放在哪里按顺序让它工作?
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();
}
}
编辑:
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>
我不认为这应该是html
.. idk为什么会这样......
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>
答案 0 :(得分:1)
ksoap2 org.xmlpull.v1.xmlpullparserexception expected start_tag error
这可以帮助您解决错误。
对于responseDump,除非您从Web服务获得响应,否则不会收到它。在您的情况下,我相信您甚至在收到任何响应之前就遇到了错误。
当您解决start_tag错误时,您可以获得responseDump,就像您获取requestDump的方式一样
androidHttpTransport.responseDump
返回一个字符串