Позвоните .NET Webservice с Android - PullRequest
8 голосов
/ 07 июня 2010

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

У нас есть веб-сервис SOAP, который используется для приложения iPhone, но возможно, что нам нужна специальная версия Android или прокси-сервер сервиса, поэтому у нас есть возможность использовать SOAP или JSON. У меня есть несколько опасений по поводу обоих методов:

SOAP-решение:

  1. Возможно ли генерировать Java исходный код из файла WSDL, если так, это будет включать какой-то прокси класс для вызова веб-службы и это будет работать в Android среда вообще?
  2. Google не предоставил SOAP библиотека в Android, поэтому мне нужно использовать Третье лицо, есть предложения?
  3. Как насчет производительности / накладных расходов с разбором и передачей SOAP XML по проводу против JSON решение?

Решение JSON:

  1. Есть несколько классов в Android SDK, который позволит мне разобрать JSON, но поддерживает ли он общий разбор, как будто я хочу результат быть разобранным как сложный тип? Или же мне нужно было бы реализовать это сам?
  2. Я читал около 2 библиотек, прежде чем здесь на Stackoverflow, GSON и Джексон. В чем разница производительность и удобство использования (от перспектива разработчиков) мудрый? Вы ребята есть опыт с любым из этих библиотек?

Так что, я думаю, главный вопрос в том, какой метод выбрать?

Надеюсь, вы мне поможете. Заранее спасибо: -)

Ответы [ 2 ]

5 голосов
/ 08 июня 2010

Я не могу много говорить о решении JSON. Но я некоторое время работал с SOAP на Android.

Вот мои комментарии относительно решения SOAP.

  1. Самая популярная библиотека, которую я нашел для выполнения SOAP на устройствах Android, - это kSOAP.
  2. Библиотека kSOAP по умолчанию не обеспечивает способ генерации классов Java из WSDL. Это большая проблема, если у вас есть WSDL с большим количеством методов. Я нашел проект (http://en.sourceforge.jp/projects/sfnet_wsdl2ksoap2/), который «претендует» на это. ПРИМЕЧАНИЕ. Я не использовал это успешно. Я обнаружил его после того, как внедрил текущую версию своего кода.
  3. Синтаксический анализ XML имеет накладные расходы, и иногда это может быть проблемой. Затраты на анализ будут зависеть от контекста вашего приложения и требований к производительности. В настоящее время я получаю приемлемую производительность, используя SOAP для отправки видеокадров (SOAP, содержащий кадры MJPEG в кодировке base64). Для больших сообщений время анализа в Nexus One составляет порядка 150-200 мс (в зависимости от размера сообщения). )

Это может быть не связано, но я нашел этот сеанс Google I / O по созданию приложений RESTFul для Android полезным. Я думаю, что они также выпустили JSON API в 2.2

Надеюсь, это поможет.

0 голосов
/ 11 июня 2010

Я сам работал над чем-то похожим, и, хотя я, возможно, не лучший авторитет в этом, я бы сказал, что 9 раз из 10 JSON - это то, что вам нужно. Не то, чтобы у soap не было своего места, но в большинстве случаев JSON будет проще, и если это не так, скорее всего, ваш сервис нуждается в рефакторинге, а не в действительно сложном домене для представления.

Дополнительный бонус конечно, если вы хотите использовать один и тот же сервис на iPhone, Blackberry, WinMo7, веб-сайте Ajax или где-то еще, это будет намного лучше для вас: -)

Мои $ 0,02

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...