Вопрос

Я использую XFire ( Огонь ) чтобы создать оболочку веб-сервиса вокруг моего приложения.XFire предоставляет интерфейс веб-сервиса и WSDL во время выполнения (или создает их во время компиляции, точно не знаю).

Многие из наших клиентов не очень хорошо знают веб-сервисы, и, кроме того, они просто не читают никакой внешней документации, такой как Javadoc.Я знаю, что можно добавить документацию (для параметров и методов) непосредственно в файл WSDL.

Я думал о аннотациях или XML-файлах Aegis, но я не знаю, как это сделать...Ты знаешь способ?

Редактировать:Я только что нашел это Проблема с JIRA но последнее мероприятие было в 2006 году.Есть какие-нибудь идеи?

Это было полезно?

Решение

XFire медленно направляется к /dev/null.Использование CXF вместо этого.Другими словами, XFire устарел в пользу CXF - это в значительной степени те же разработчики.

Поскольку вы используете подход Java-first, я предлагаю вам сгенерировать свой WSDL раз и навсегда с помощью CXF java2wsdl инструмент, затем вы помещаете в него свою документацию и указываете CXF использовать это документированный WSDL вместо того, чтобы позволять CXF генерировать свой собственный (недокументированный) WSDL во время выполнения / развертывания.

Эта страница содержит практически все, что вам нужно знать о создании веб-сервиса в CXF.

Другие советы

И мой последний совет относительно CXF - используйте Aegis для привязки данных вместо JAXB.Это не работает для сложного POJO.

По моему опыту, у нас нет проблем со сложными POJO и JAXB, единственная проблема заключается в том, что код начинает загромождаться JAXBElements.С другой стороны, документация Aegis довольно скудна и не очень хорошо поддерживается по отношению к CXF.

Позвольте мне добавить свои два цента относительно XFire.У нас была очень серьезная проблема с XFie под JDK6 (как Tomcat 6.0, так и 5.5). Пожалуйста, взгляните на этот вопрос.В нашем случае XFire с 4+ веб-сервисами под управлением JDK6 приводит к зависанию серверов приложений (взаимоблокировки потоков и т.д.).Это интересно, но под JDK5 все было в порядке.

И я полностью согласен с Кристианом Вестом относительно перехода на CXF из XFire.Это имеет смысл во многих случаях, напримерESB Mule 2 больше не поддерживает встроенные разъемы XFire (смотрите также).

И я хотел бы добавить, что переход с XFire на CXF не является прямым способом (напримерCXF имеет зависимости jar, которые конфликтуют с некоторыми выпусками hibernate смотрите также), но это выполнимо.В нашем случае мы сделали это за пару дней без исправления кода (настройка только Spring).

И мой последний совет относительно CXF - используйте Aegis для привязки данных вместо JAXB.Это не работает для сложного POJO.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top