#android #service
#Android #Обслуживание
Вопрос:
Я использую веб-сервис asmx в своем коде, который не возвращает правильный XML-файл. Вот мой код
private static final String SOAP_ACTION = "http://tempuri.org/ValidateLogin";
private static final String METHOD_NAME = "ValidateLogin" ;
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://ufindfish.b4live.com/FindFish.asmx";
request= new SoapObject(NAMESPACE,METHOD_NAME);
request.addProperty("sUserName",name);
request.addProperty("sPwd", password);
//envelope.bodyOut=request;
envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
envelope.encodingStyle=SoapSerializationEnvelope.XSD;
//generate httpresponce
httpTransportSE=new HttpTransportSE(URL);
try {
httpTransportSE.call(SOAP_ACTION,envelope);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (XmlPullParserException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
SoapObject result = null;
try {
result=(SoapObject)envelope.getResponse();
//Log.i("RESPONCE","" result.toString());
} catch (SoapFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ответ приведен ниже…что мне делать?
anyType{NearLake=anyType{tblNearLake=anyType{LAKE=2022C01 BENSFORT BRIDGE to PETERBOROUGH; LAT=11.622; LON=20.616; }; tblNearLake=anyType{LAKE=2022C01 BENSFORT BRIDGE to PETERBOROUGH; LAT=11.186; LON=19.443; }; }; }
пожалуйста, помогите мне…
Заранее спасибо
Комментарии:
1. Как вы проверяете, какой результат неверен? Вы не можете полагаться на результат метода toString() при его проверке!
2. Результат @Olegas в порядке … но он не дает мне надлежащего XML-файла для его анализа.
3. Как вы пытаетесь его проанализировать? Почему вы хотите использовать его отдельно? Разве он уже не проанализирован вашей библиотекой SOAP?
4. я понятия не имею, какая библиотека его анализирует already…bt что бы я ни прочитал до сих пор, я получил информацию о том, что вы получаете xml-файл и будете анализировать в соответствии с вашими потребностями… вы использовали этот сервис b4? вы получили XML-файл?
5. Нет, я не использовал SOAP в Android, но я знаю, что SOAP — это своего рода протокол RPC для выполнения вызова и получения строго типизированного ответа. Какую библиотеку SOAP вы используете?
Ответ №1:
Я много боролся с этой проблемой и, наконец, получил решение. Следующий код сделает эту работу за вас.
httpTransportSE.debug=true;
httpTransportSE.call(SOAP_ACTION, envelope);
String ss=httpTransportSE.responseDump;
Log.d("--Result-- ", ss);
Он правильно напечатает выходные данные веб-сервиса с xml-тегами, если этот веб-сервис вернет xml.