我一直在玩Apache CXF,特别是它支持的各种数据绑定:JAXB(默认),MTOM,Aegis和XMLBeans。既然所有这些都得到支持,我想每个人都有其优点。我想出了这些:在CXF中,为什么使用除JAXB之外的任何其他绑定? (MTOM附件,Aegis,XMLBeans,...)
- 很明显,MTOM是优先考虑的地方涉及大型附件。
- JAXB依赖于注释,所以当修改类受到限制时它不太适合。
- Aegis没有
wsdl2java
工具,所以它不太适合“合同优先”的开发,即从WSDL开始并从中生成Java代码。 - 它似乎宙斯盾在类.aegis.xml文件提供通过其声明语法在Java类和XML之间的映射稍微控制。另一方面,我无法设想JAXB没有做到这一点。
我发现这个问题并列JAXB和XMLBeans的,但它没有给出一个全面的概述:
除了这些天真的,先验的考虑,你有任何血液 - 和 - 有没有经验可以支持除JAXB以外的任何其他绑定?我是从CXF的角度来问的,但是如果有其他选择的话(例如Castor),请不要犹豫,详细说明。