ksoap2 не работает - PullRequest
       15

ksoap2 не работает

1 голос
/ 01 июня 2010

Я не могу понять, почему я не могу получить ответ от звонка в веб-службу, используя ksoap2.

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

Мой код выглядит следующим образом:

            SoapObject request = new SoapObject("http://fc.mobiledatacapture/", "getParameters");
            request.addProperty("arg0", MSISDN);
            SoapSerializationEnvelope envelope =
                new SoapSerializationEnvelope(SoapSerializationEnvelope.VER10);

            envelope.bodyOut = request;

            HttpTransport ht = new HttpTransport(url);

            //call web service method
            ht.call("\"getParameters\"", envelope);

            SoapObject response = (SoapObject)envelope.getResponse(); //marker

            parameterString = (String) response.getProperty(0);

Так что я знаю, что веб-сервис вызывается, но я никогда не получаю результат для parameterString.

После добавления некоторых распечаток и проверок на ошибки, я обнаружил, что код не проходит через строку с комментарием - "// маркер". Прямо перед этой строкой я проверил, был ли конверт нулевым и не был ли он. Тем не менее, этот блок кода ловит нулевую ошибку.

Итак, я предполагаю, что это означает, что ответ нулевой, но как я могу получить значение, возвращаемое веб-службой?

1 Ответ

1 голос
/ 01 июня 2010

Не беспокойся. Я изменил код следующим образом и получил строку, которую вернул мой веб-сервис:

    Object response = envelope.getResponse();
    parameterString = response.toString();
...