ksoap2 не работает

Я не могу понять, почему я не могу получить ответ от звонка в веб-службу, используя 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 ответ

Решение

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

    Object response = envelope.getResponse();
    parameterString = response.toString();
Другие вопросы по тегам