Я играю с Apache CXF, в частности различные привязки данных, которые он поддерживает: JAXB (по умолчанию), MTOM, Aegis и XMLBeans. Поскольку все они поддерживаются, я полагаю, что каждый из них имеет свои достоинства. Я придумал их:Внутри CXF, зачем использовать любую другую привязку, чем JAXB? (Вложения MTOM, Aegis, XMLBeans, ...)
- Очевидно, что MTOM предпочтительнее, если речь идет о больших приложениях.
- JAXB зависит от аннотаций, поэтому он менее подходит, когда модификация классов ограничена.
- У Aegis нет инструмента
wsdl2java
, поэтому он менее подходит для разработки «контракт-первый», то есть начинается с WSDL и генерирует код Java из этого. - Это что Aegis предоставляет немного больше контроля над сопоставлением между классами Java и XML через его декларативный синтаксис в Класс .aegis.xml файлы. С другой стороны, я не мог разработать какие-либо сценарии, в которых JAXB не сделал этого трюка.
Я нашел этот вопрос противопоставления JAXB и XMLBeans, но он не дает полный обзор:
Помимо этих наивным, априорные соображения, у вас есть какие-либо кровь-and что может повлиять на использование каких-либо других привязок, кроме JAXB? Я спрашиваю с точки зрения CXF, но если на ум приходят другие варианты (например, Castor), пожалуйста, не стесняйтесь уточнять.