JAXWS-RI打破了XML数字签名

时间:2013-10-02 22:07:48

标签: soap jaxb

我用一个简单的程序被困了好几天

我正在尝试对某些XML文档进行数字签名,然后将其添加到jaxb元素中,以便我可以使用soap message发送它。 我能够设置jaxb元素值,编组并签名。 当谈到再次解组我遇到问题时,我收到一个错误:

DefaultValidationEventHandler: [FATAL_ERROR]: unexpected element (uri:"http://someuri",  
local:"SomeObject"). Expected elements are <someuri#DifferentObject}

根据错误“预期元素”恰好是XML数字签名(我的主要jaxb的子元素)

为了解决这个问题,我添加了     @XmlRootElement(name =“SomeObject”) 到我的jaxb类Model并且它没有问题解组,但是DigitalSignature节点(子元素)的命名空间向上移动。这是错误的,因为我的XML数字签名被破坏了,当我发送soap消息时更糟糕的是,命名空间在包装类中向上移动,因此原始签名数据完全不同。 问题是如何在jaxb和JAXWS-RI / 2.2.6中避免名称空间重定位?

0 个答案:

没有答案