Получить объект класса из конверта SOAP? - PullRequest
2 голосов
/ 08 февраля 2011

У меня есть веб-сервис, который возвращает мне один объект класса из запроса к базе данных. Я знаю, как извлечь свойство из soapObject, но это свойство содержит объект.Так, например, если я использую:

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
        Object obj = resultsRequestSOAP.getProperty("return");

Полное значение объекта: «Контакты {id = значение, имя пользователя = значение, местоположение = значение, дата = значение}»

Проблема в том, что я ничего не могу с этим поделать, если не хочу разбить его на строку, используя «split».Мне нужно знать, как извлечь этот объект из конверта или SoapObject с типами и значениями, с которыми я могу работать.Любая помощь приветствуется.Я могу опубликовать исходный код, если это необходимо, но я не думаю, что это необходимо для такой небольшой проблемы.

РЕДАКТИРОВАТЬ: Когда я "смотрю" SoapObject, происходит разбивка: у объекта есть свойство с именем "returnmsgstr "то это свойство имеет значение с именем" Контакты ".Это значение как 4 свойства, которые являются моими значениями, которые мне нужны.Надеюсь, это поможет.

1 Ответ

2 голосов
/ 08 февраля 2011

Звучит так, будто return - это вложенный объект мыла? Я не очень знаком с этой конкретной библиотекой, но будет ли что-то вроде этой работы?

SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
SoapObject returnObj = (SoapObject)resultsRequestSOAP.getProperty("return");
Integer id = Integer.valueOf(returnObj.getProperty("id");
String username = (String)returnObj.getProperty("value");
...

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

...