私は Apache CXF、特に Apache CXF がサポートするさまざまなデータ バインディング (JAXB (デフォルト)、MTOM、Aegis、および XMLBeans) をいじってみました。これらはすべてサポートされているので、それぞれにメリットがあると思います。私はこれらを思いついた:
- 明らかに、大きな添付ファイルが含まれる場合は MTOM が優先されます。
- JAXB はアノテーションに依存するため、クラスの変更が制限されている場合にはあまり適していません。
- Aegis には
wsdl2java
ツールがないため、「コントラクト優先」の開発にはあまり適していません。つまり、WSDL から開始して、そこから Java コードを生成します。 - Aegisは、 Class .aegis.xmlファイルの宣言構文を使用して、Java クラスと XML 間のマッピングをより細かく制御できるようです。一方で、JAXB がうまくいかないシナリオを思いつくことはできませんでした。
JAXB と XMLBeans を並べてこの質問を見つけましたが、包括的な概要は示されていません。
これらの素朴でアプリオリな考慮事項に加えて、JAXB 以外のバインディングの使用をサポートする血と腸の経験はありますか? 私は CXF の観点から質問していますが、他のオプション (Castor など) が思い浮かんだ場合は、遠慮なく詳しく説明してください。