#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.