Использование веб-сервисов Axis2 в формате JSON

#android #json #axis2

#Android #json #apache-axis

Вопрос:

Мне нужно использовать веб-сервис Axis2 с приложением для Android. Служба Axis2 использует JDK1.5, если это имеет какое-либо значение.

Я заставил Axis2 выдавать выходные данные в формате JSON. Это оказалось относительно простым, просто изменив axis2.xml и добавлением правильных MessageFormatter и MessageBuilder.

Вызов службы с URL-адресом теперь приводит к выводу JSON, и я могу передать параметры, изменив URL-адрес запроса:

 http://myServer.com/axis2/Services/myService/myOperation?
    param1=asdfamp;response=application/json/badgerfish
  

Однако, похоже, я не могу совершать вызовы, которые принимаются путем фактической отправки запросов JSON. Запросы кажутся правильно сформированными в формате JSON, но служба их отклоняет. Глядя на документацию Axis2, кажется, что было бы легко, если бы я использовал заглушку Axis2 (шаги 2 и 3). Однако это не так (кажется, я не могу заставить клиентский код Axis2 работать на Android, но это другая история).

Как я могу отправлять запросы JSON в службу Axis2 с поддержкой JSON?

Ответ №1:

Единственный способ сделать это — использовать RawXMLInOutMessageReceiver и самостоятельно проанализировать полезную нагрузку XML. Поддержка Axis2 JSON очень слаба, и вы не можете использовать ее вместе с привязкой данных.

Смотрите комментарий от самого автора. http://isurues.wordpress.com/2009/10/06/how-to-use-axis2-json /

Комментарии:

1. Отличная находка. С тех пор я нашел ksoap2-android, который послужил моим целям, но это лучше объясняет, почему Axis2, похоже, просто не принимает никаких запросов JSON, несмотря на то, что предлагает ответы JSON.