Некоторое время назад я использовал предтечу CXF, XFire, и это не так уж плохо. В то время мы мигрировали из Axis по двум основным причинам: производительность и простота разработки. В то время (не знаю, правда ли это сейчас), производительность XFire была намного лучше, чем когда-либо, и с разработкой на основе аннотаций вместо запуска создания заглушек было действительно легко добавлять новые веб-сервисы.
CXF кажется более похожим, но лучше - мы еще не мигрировали из-за ограничений по времени разработки, а также из-за отсутствия веской причины для этого (плюс относительное отсутствие документации 6-12 месяцев назад было не слишком обнадеживает) Кроме того, я не очень оценивал рынок в последнее время, поэтому я не могу сказать вам, как CXF противостоит его современным конкурентам.
Относительно ваших очков:
- Нет шаблонного кода, который необходимо сгенерировать, WSDL автоматически создается из аннотаций класса обслуживания и публикуется сервером.
- Развертывание в Tomcat было относительно простым. Просто определите другой сервлет в web.xml и сопоставьте шаблон URL с этим сервлетом.
- Наши веб-сервисы были развернуты в файлах WAR, я не уверен, какие альтернативы есть на самом деле, но, похоже, это был стандартный и очевидный способ сделать это.
- POJO изначально отлично работают; Теперь мы переместили большую часть создания объекта веб-службы в Spring, чтобы связать более сложные условные зависимости, и у нас не было проблем с этим.
- Первоначально документация была слабым местом CXF, хотя, если взглянуть только что, то сейчас кажется, что лучше. Общий дизайн и архитектура кажутся относительно вменяемыми; установка временных интервалов в собственных фильтрах для изменения деталей передачи была не очень болезненной, и обычно рассматривалось расширение существующих классов (например, разумные методы помечаются как защищенные, а не как частные).
- JAX-WS полностью поддерживается в CXF.
Так что я, вероятно, немного беспристрастен, так как я не пробовал другие, но я поблагодарю о взгляде на CXF. Он довольно быстрый, относительно простой в использовании и достаточно мощный, если вам нужно настроить его.