Android KSoap2没有返回有效的xml?
我正在尝试从web服务获取xml数据。xml数据如下所示Android KSoap2没有返回有效的xml?,android,xml,soap,android-ksoap2,Android,Xml,Soap,Android Ksoap2,我正在尝试从web服务获取xml数据。xml数据如下所示 <Result> <ErrorCode>0</ErrorCode> <ErrorMessage>Login was succesful.</ErrorMessage> <AuthCode>maneen90234</AuthCode> </Result> 这就是我调用web服务的方式 private String callAPI(String
<Result>
<ErrorCode>0</ErrorCode>
<ErrorMessage>Login was succesful.</ErrorMessage>
<AuthCode>maneen90234</AuthCode>
</Result>
这就是我调用web服务的方式
private String callAPI(String user, String password) {
request = new SoapObject(NAME_SPACE, "UserLogin");
PropertyInfo pi = new PropertyInfo();
addProperty(pi, request, "UserId", user, String.class);
addProperty(pi, request, "Password", password, String.class);
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
androidHttpTransport = new HttpTransportSE(url);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
response = envelope.getResponse().toString();
} catch (Exception exception) {
response = exception.toString();
}
return response;
}
private void addProperty(PropertyInfo pi, SoapObject request, String UserId, String value, Object type) {
pi = new PropertyInfo();
pi.setName(UserId);
pi.setValue(value);
pi.setType(type);
request.addProperty(pi);
}
我试过各种各样的答案,但都没有用。知道我做错了什么吗?看起来ksoap2正在解析数据本身并返回数据的属性。我提取的数据如下所示-
SoapObject response = (SoapObject) ((SoapObject)envelope.getResponse()).getProperty(0);
if(response.getProperty("ErrorCode").equals(1))
{
Toast.makeText(context,"Login sucessful",Toast.LENGTH_LONG).show();
Log.d(TAG, String.valueOf(response));
}
else {
Toast.makeText(context,"ErrorCode",Toast.LENGTH_LONG).show();
Log.d(TAG, String.valueOf(response));
}
虽然我仍然在传递参数方面遇到问题,但我将针对相同的问题发布单独的问题。当你说“ErrorMessage=不正确的用户名或密码;”@sakir是的,我意识到我得到的是已解析的数据,不需要再次解析。我希望有一个有效的XML作为响应。请检查我的答案以了解解释。
SoapObject response = (SoapObject) ((SoapObject)envelope.getResponse()).getProperty(0);
if(response.getProperty("ErrorCode").equals(1))
{
Toast.makeText(context,"Login sucessful",Toast.LENGTH_LONG).show();
Log.d(TAG, String.valueOf(response));
}
else {
Toast.makeText(context,"ErrorCode",Toast.LENGTH_LONG).show();
Log.d(TAG, String.valueOf(response));
}