JAXB не может маршалировать и демаршировать объекты Opensaml и Openws с не-arg конструкторами? - PullRequest
2 голосов
/ 03 декабря 2010

В настоящее время я создаю свои собственные пользовательские службы маркеров безопасности с использованием API-интерфейсов Opensaml и Openws.

Я использую CXF с Spring, эта технология облегчает перехватчики, которые позволяют мне манипулировать и вставлять элементы (утверждения SAML и т. Д.) В заголовок мыла.

Однако я бы хотел вставить объект OpenWS RequestSecurityToken в тело мыла с помощью метода веб-службы.

Сам объект OpenWS RequestSecurityToken не имеет определенного конструктора без аргументов, равно как и его суперклассы. Корневым классом является org.w3c.xml.Element, который также не имеет пустого конструктора.

JAXB выдает исключение, жалуясь на это, говоря, что не может обрабатывать интерфейсы - даже если эти классы не являются интерфейсами!

У меня нет исходного кода, и поэтому я не могу легко добавлять конструкторы. Об этом много было написано в Интернете с указателями на пользовательские аннотации, классы адаптеров и пользовательские маршаллеры, но я не могу решить, какой подход принять.

Кстати: OpenWS и Opensaml поставляются с Marshallers и Unmarshallers для каждого объекта. Мне было интересно, удалось ли кому-нибудь заставить JAXB использовать собственные маршаллеры вообще?

1 Ответ

0 голосов
/ 03 декабря 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...