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();