私は JAXB を (JaxWS と CXF の混乱を介して) 使用し、BigDecimal 型を文字列 (数値) と int (指数) にマーシャリングしようとしています。これは、ロケールの問題により BigDecimal を解釈できないフロント エンドがあるためです。
私がしようとしているのは、XmlAdapter を使用して BigDecimal を独自の型 BigDecimalUnScaled に変換することです。@XmlJavaTypeAdapter アノテーションをフィールドに直接配置する限り、これは正常に機能します。しかし、私が本当にやりたいことは、それを Web サービスの実装に配置し、各戻りオブジェクトを個別にマーシャリングすることなく、すべての BigDecimals にグローバルに適用することです。これを行う方法はありますか?
例えば
Interface DummyWebService
-- Get Return Object (Return object is a POJO with say an ID and a BigDecimal value)
Implementation default
-- No type annotation, uses default BigDecimal marshaller
Marshalled Implementation
-- XmlTypeAdapters implementation, should globally use BigDecimal
アダプターを実装に入れてみただけですが、うまくいきません。
何か案は?