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

В моя проект ще трябва да разработя някои интерфейси за вход/изход на данни, базирани на технологията за уеб услуги. Така че досега съм учил за това.

Това, което съм любопитен относно уеб услугата с Java, е каква библиотека мога да използвам или не.

Докато търсих java библиотека, открих, че Axis2 и CXF са много често срещани и известни java w/s библиотека. Проблемът е, че трябва да използвам RAD 7.0, който съдържа axis.

Изглежда има огромна промяна между 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 изискват axis/axis2

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 или по-нова. Създадох моя собствена управлявана версия на axis за поддръжка на наследен wsdl на java 1.5 или по-нова версия и тя работи дори с java 10.

И по-добре да използвате axis или axis2, тъй като е стандартен и се изисква за определена рамка или технология.

person Kartik Parihar    schedule 09.08.2018