Разница между Axis и Axis2 для разработки веб-сервиса

В моем проекте мне придется разработать некоторые интерфейсы ввода/вывода данных на основе технологии веб-сервиса. Так что до сих пор я изучал об этом.

Что меня интересует в веб-службе с Java, так это то, какую библиотеку я могу использовать или нет.

Когда я искал java-библиотеку, я обнаружил, что Axis2 и CXF являются очень распространенными и известными java-библиотеками. Проблема в том, что я должен использовать RAD 7.0, который содержит ось.

Кажется, между Axis и Axis2 есть огромные различия, и, к сожалению, я не могу использовать Axis2.

Теперь мой партнер предоставляет WSDL, и мне нужно реализовать W/S на стороне клиента. Если я создам прокси-код на стороне клиента из WSDL с помощью Axis, Axis2 или CXF, будет ли это один и тот же код?

Или, если мне нужно сделать WSDL, чтобы предоставить мой интерфейс W/S с Axis, может ли это быть проблемой для пользователя Axis2 или CXF?

В моих обстоятельствах я очень новичок и боюсь использовать Axis. Кто-нибудь может дать мне совет??

благодаря.

хорошего дня.


person nick    schedule 04.12.2012    source источник


Ответы (4)


Нет, каждый из них генерирует другой код. Хотя все они работают для одной цели.

Я лично предпочитаю Axis2 вместо Axis.

Просто чтобы получить различные плюсы и минусы по каждому из них, вы можете пройти через это: ссылка для сравнения

person subbu    schedule 19.04.2013

Некоторые другие отличия, которые я нашел:

  • #P2#
  • #P3#
  • #P4#
person supernova    schedule 10.12.2017

Опытным путем я обнаружил, что некоторые WSDL могут анализироваться Axis1, но не Axis2, а некоторые сообщения, отправляемые Axis2, не работают со службами, которые работали с Axis1.

Нюансы в массивах из сгенерированных WSDL, а не написанных от руки, и символы с диакритическими знаками по-разному интерпретируются на стороне сервера (т.е. работает с CDATA, но не без него)

Лично я использую все, что wsimport генерирует из JDK, а не какой-либо другой инструмент, но некоторые фреймворки, такие как Curam, требуют ось/ось2

person Archimedes Trajano    schedule 27.02.2015
comment
Да, @Archimedes прав. Заставьте вас использовать правильную версию Axis. иначе вы застряли там. Это катастрофа. - person Ong Ming Soon; 09.06.2017

Некоторые WSDL могут анализироваться Axis1, но не Axis2. И Axis1 поддерживается до версии Java 1.4, после чего вы получаете исключение, связанное с ключевым словом enum.

используйте -source 5 или выше, чтобы использовать «enum» в качестве ключевого слова.

Потому что Axis создает классы Java с ключевым словом enum.

Вы можете переопределить эти классы и имена пакетов (как это сделано в Axis2 для пакета enum на константу) и сделать свою собственную управляемую версию Axis совместимой с Java 1.5 или выше. Я создал свою собственную управляемую версию оси для поддержки устаревшего wsdl в java 1.5 или более поздней версии, и она работает даже с java 10.

И лучше использовать ось или ось 2, так как это стандартно и требуется для определенного фреймворка или технологии.

person Kartik Parihar    schedule 09.08.2018