Я использую JAXB (через беспорядок JaxWS и CXF) и пытаюсь маршалировать тип BigDecimal в строку (число) и int (экспоненту), потому что теперь у нас есть внешний интерфейс, который не может интерпретировать BigDecimal из-за проблем с локалью. .
Я пытаюсь использовать XmlAdapter для преобразования BigDecimal в мой собственный тип BigDecimalUnScaled. Это работает нормально, пока я помещаю свою аннотацию @XmlJavaTypeAdapter прямо в поле. Однако то, что я действительно хотел бы сделать, это поместить его в свою реализацию веб-службы и глобально применить ко всем 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
Я пытался просто поставить адаптер на реализацию, но это не сработало.
Есть идеи?