Ошибка org.xmlpull.v1.XmlPullParserException: ожидается: START_TAG - PullRequest
2 голосов
/ 26 апреля 2011

В моем приложении я обращаюсь к некоторым веб-службам, которые находятся в моей локальной системе.Когда я вызываю эти сервисы с моего ПК, все они работают нормально, но когда эти сервисы вызывались из другой системы.при вызове я получаю сообщение об ошибке

"org.xmlpull.v1.XmlPullParserException: ожидается: START_TAG".

Вот мой код:

    public String getAccountsNames(int billId){

        String value = new String();
        System.out.println("Inside getAccountsDetails method...........");
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("billId", billId);

        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        soapEnvelope.dotNet=true;
        soapEnvelope.setOutputSoapObject(request);
        AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
        try
        {
            androidHttpTransport.call(SOAP_ACTION, soapEnvelope);
            SoapPrimitive  resultString = (SoapPrimitive)soapEnvelope.getResponse();
            value = resultString.toString();
            System.out.println("This getAccountsNames xmls is : "+xml);
        }   catch (Exception e) {
            e.printStackTrace ();
        }
        return value;
   }

Также я проверил, установив SoapEnvelope.VER11, VER12, VER10.Но проблема всегда одна и та же.

Пожалуйста, предложите.спасибо.

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

AndroidHttpTransport androidHttpTransport = новый AndroidHttpTransport (URL);

У меня была похожая проблема, и это было потому, что я случайно вставил свой адрес NAMESPACE вместо URL, который был другим. Когда я переключил это обратно, это сработало.

В качестве дополнительного предложения, если вы не видите, что ваш параметр передается правильно, попробуйте исключить строку:

soapEnvelope.dotNet = TRUE;

для меня, у меня было логическое значение, которое постоянно передавалось как ложное, пока я не прокомментировал эту строку.

0 голосов
/ 26 апреля 2011

Возможно, вы не получаете XML-ответ, когда находитесь в других системах.Вы можете увидеть, что вы получаете следующим образом:

androidHttpTransport.debug = true;
// ...
// execute the request
// ...
androidHttpTransport.responseDump; // <-- a string containing server response

Также: не то, чтобы это могло быть проблемой, но AndroidHttpTransport устарело, вы должны использовать HttpTransportSE.

...