Веб-служба .NET в Android и не получает XML-ответа

#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.