java - org.xmlpull.v1.XmlPullParserException:预期:START_TAG
问题描述
收到以下错误:
06-20 17:46:59.993 9707-9781/com.example.admin.demoasync W/System.err: org.xmlpull.v1.XmlPullParserException: 预期: START_TAG { http://schemas.xmlsoap.org/soap/envelope / }信封(位置:START_TAG @2:44 in java.io.InputStreamReader@1747caf6)
在执行以下代码时(使用 ksoap2 库):
public class Webservice
{
private static String NAMESPACE = "http://micraft.org/webservice/";
private static String URL = "http://billbox.micraft.org/webservice.asmx";
private static String SOAP_ACTION= "http://micraft.org/webservices/GetUsers";
public static boolean invokeWS(String userEmail,String userPass,String webMethName)
{
boolean loginStatus = false;
SoapObject request = new SoapObject(NAMESPACE, webMethName);
PropertyInfo unamePI = new PropertyInfo();
PropertyInfo passPI = new PropertyInfo();
unamePI.setName("UserID");
unamePI.setValue(userEmail);
unamePI.setType(String.class);
request.addProperty(unamePI);
passPI.setName("Password");
passPI.setValue(userPass);
passPI.setType(String.class);
request.addProperty(passPI);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
Log.e("Envelope", String.valueOf(request));
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION + webMethName, envelope);
Log.e("Enevelope2",String.valueOf(envelope));
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
loginStatus = Boolean.parseBoolean(response.toString());
} catch (Exception e)
{
MainActivity.errored = true;
e.printStackTrace();
}
return loginStatus;
}
}
尝试了所有堆栈溢出建议,但没有奏效。
解决方案
以下是发送的请求:
<?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://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"><v:Header /><v:Body><GetUsers xmlns="http://micraft.org/webservices/"><UserID>******</UserID><Password>***</Password></GetUsers></v:Body></v:Envelope>
并且,以下是收到的回复:
<!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>500 - Internal server error.</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>500 - Internal server error.</h2>
<h3>There is a problem with the resource you are looking for, and it cannot be displayed.</h3>
</fieldset></div>
</div>
</body>
</html>
推荐阅读
- python - 表单清理方法 vs 模型清理方法 vs 模型字段验证器
- c++ - 如何检查 std::vector 的调整大小是否获得了适当的内存
- python - 有没有办法将 RASA_NLU 配置从 Visual c++ 14.0 更改为 MinGW
- laravel - Laravel - belongsTo 关系的条件
- javascript - 在 Windows 上滚动在最近的选择器上添加类
- django - 'using' 是此函数的无效关键字参数 (serializer.save(using='tableNew'))
- asp.net - ASP.NET Core Web API 如何临时保存已验证的电话号码
- python - 按列任意排序矩阵
- javascript - 画布绘图在放大/缩小时消失
- python - 如何在断点处多次重启长python脚本而不重新运行