2012-06-23 4 views
0

Привет всем Я использую KSOAP2 2.6.5, но я не использовал 2.4 до 2.6.5 и я получил ту же ошибку:KSOAP2 андроид ошибка ожидается START_TAG

org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <definitions name='wsLogin' targetNamespace='http://painel01.allinmail.com.br/wsAllin/login.php'>@2:403 in [email protected]) 

я попробовал решение, но до сих пор ничего решить не нашел

мой код:

private String URL = "http://painel01.allinmail.com.br/wsAllin/login.php?wsdl"; 
private String METHOD = "getTicket"; 

private static final String NAMESPACE = "http://painel01.allinmail.com.br/wsAllin/login.php"; 
private static final String SOAP_ACTION = "http://painel01.allinmail.com.br/wsAllin/login.php#getTicket"; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    SoapObject request = new SoapObject(NAMESPACE, METHOD); 
    request.addAttribute("login", "testeallin"); 
    request.addAttribute("senha", "[email protected]"); 
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
      SoapEnvelope.VER11); 
    envelope.setOutputSoapObject(request); 
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
    try { 
     log("point A"); 
     androidHttpTransport.call(SOAP_ACTION, envelope); 
     log("point B"); 
     String resultsRequestSOAP = envelope.getResponse().toString(); 
     log("point C"); 
     log(resultsRequestSOAP); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     log(e.toString()); 
    } 

} 

private void log(String msg) { 
    Log.d("KSOAP2", msg); 
} 

и мой Быстродействие только:

point A 
org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <definitions name='wsLogin' targetNamespace='http://painel01.allinmail.com.br/wsAllin/login.php'>@2:403 in [email protected]) 

Как я могу это исправить?

+0

Вы пробовали проверить URL-адрес в своем коде? Попробуйте вставить его в браузере и убедитесь, что служба возвращает действительный XML-документ. –

+0

@ParthDoshi yep, у меня есть клиент на PHP, и он работает нормально, обращайтесь к ссылке на код «http://painel01.allinmail.com.br/ wsAllin/login.php? wsdl ", чтобы увидеть xml – ademar111190

+0

Попробуйте использовать это: SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope.getResponse(); Строка strRes = resultsRequestSOAP.toString(); –

ответ

0

Проверьте правильность обработки URL-адресов.

Я думаю, вы делаете свои веб-методы в C#. Если это так, то

В C#, Перейти к Обозреватель решений.
В этом случае проверьте Appcode, если есть файл с именем app_offline.htm.

Щелкните правой кнопкой мыши и исключите его из проекта.

Эта мелочь работала для меня. Надеюсь, что это поможет кому-то с аналогичной проблемой.

+0

Я довольно немного смущен, что заставляет вас думать, что это ответ на этот вопрос. Кроме того, это не тот файл app_offline.htm и исключение его из проекта может или не может работать в любом случае, в зависимости от того, как приложение развертывается ... Предполагая, что это служба ASP.NET, в первую очередь, что я не знаю, как вы так думаете. –

+0

Ну, я просто решил это, и эта маленькая вещь действительно работала для меня. Если вы вызываете веб-методы с Android, конечно, это будет онлайн-приложение, и поэтому исключение кода, который не позволяет коду выходить в Интернет, вероятно, работает. – Shachi

+0

Это работало для * you *, потому что вы использовали веб-службу ASP.NET. Для этого может быть много других причин, и это может случиться в любом веб-сервисе в любых рамках. –

Смежные вопросы