JAXB无法使用非arg构造函数对Opensaml和Openws对象进行编组和解组吗?

时间:2010-12-03 20:56:17

标签: java jaxb

我目前正在使用Opensaml和Openws API构建自己的自定义安全令牌服务。

我在Spring中使用CXF,这项技术有助于拦截器允许我操作元素(SAML断言等)到soap标题中。

但是,我想通过我的Web服务方法将一个OpenWS RequestSecurityToken对象插入到soap主体中。

OpenWS RequestSecurityToken对象本身没有定义非参数构造函数,也没有超类。根类是org.w3c.xml.Element,它也没有空的构造函数。

JAXB抛出一个异常,抱怨这个,说它无法处理接口 - 即使这些类不是接口!

我没有源代码,因此无法轻松添加构造函数。互联网上已经发布了大量有关此内容的信息,包括自定义注释,适配器类和自定义编组器,但我无法确定采用哪种方法。

BTW:OpenWS和Opensaml确实为每个对象配备了Marshallers和Unmarshallers。我想知道是否有人设法迫使JAXB使用自定义marshallers?