Может ли JAX-B дословно включать атрибут с XML-значением?

У меня есть объект, который является возвращаемым значением для метода веб-службы. Одно из его свойств содержит XML-документ. В идеале я хотел бы, чтобы JAX-B дословно включал этот XML-документ в ответ веб-службы, вместо того, чтобы экранировать все или разбирать его только для того, чтобы сопоставление веб-службы могло немедленно маршалировать его снова.

Можно ли это сделать с помощью аннотаций или пользовательского определения привязки?

EDIT: Причина, по которой я хочу сделать это, заключается в том, что XML-документ извлекается из базы данных Oracle (тип столбца XmlType), и я обычно хочу избежать ненужных шагов синтаксического анализа/форматирования при передаче его в клиент веб-сервиса.


person Michael Borgwardt    schedule 03.03.2011    source источник


Ответы (1)


Я думаю, вам придется сначала преобразовать строку XML в объект org.w3c.dom.Element, добавить его в свою модель и аннотировать с помощью @XmlAnyElement. Затем JAXB сериализует это как дословный XML (без проверки схемы).

person skaffman    schedule 03.03.2011
comment
Причина в том, что это свойство извлекается из столбца Oracle XmlType через JPA. Есть ли способ заставить JPA напрямую переводить такой столбец в свойство типа org.w3c.dom.Element? - person Michael Borgwardt; 03.03.2011
comment
@Michael: Не то, чтобы я в курсе, нет. Как насчет того, чтобы выполнить преобразование String-to-DOM внутри метода вашей модели и аннотировать метод вместо поля? - person skaffman; 03.03.2011