Как создать документированный WSDL с использованием XFire - PullRequest
1 голос
/ 08 октября 2008

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 13 октября 2008

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

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

2 голосов
/ 10 октября 2008

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

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

На этой странице есть почти все, что вам нужно знать о создании веб-службы в CXF.

1 голос
/ 11 октября 2008

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

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

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

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

...