Colm,

Looking at that spot in the JAXB code, it's trying to do some funky stuff 
around re-assign the default namespace to something else.   If you can, can 
you avoid using the default namespace in your code?   (qualified elements and 
such)  That MIGHT help.

That said, if you can build up a small JAXB only example that shows the 
problem, log it a jaxb.dev.java.net.   They might get around to fixing it if 
there is a sample.   They pretty much don't fix anything else if their isn't 
a  sample showing the problem.   In this case, the "assert" that is there 
might just be an invalid assertion.

Dan


On Tuesday 14 October 2008 12:35:36 pm Colm O hEigeartaigh wrote:
> Hi guys,
>
> I have a JAXB object generated by xsdtojava in CXF that has the
> following attribute:
>
> @XmlAnyElement(lax = true)
> protected Object any;
>
> This has a setAny accessor with the comment that the allowed object
> argument is a DOM Element or an Object. However, I get the following
> error when I assign a DOM Element to "any", and the JAXB object gets
> marshalled out:
>
> SEVERE: EXCEPTION
> java.lang.AssertionError
> com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl.declareNsUri(Nam
> espaceContextImpl.java:189)
> ...
> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshaller
> Impl.java:75)
> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.ja
> va:378)
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:
> 154)
> ...
>
> Has anyone ever tried doing anything similar, or does it even make sense
> to do so? I need to preserve the DOM Element "as is", as it's a signed
> SAML assertion. I'd rather avoid having to manually marshal the JAXB
> object itself to DOM, and then insert the "any" in the right place, if
> at all possible.
>
> Thanks,
>
> Colm.



-- 
Daniel Kulp
[EMAIL PROTECTED]
http://dankulp.com/blog

Reply via email to