You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Andrea Smyth (JIRA)" <ji...@apache.org> on 2006/09/06 17:16:24 UTC
[jira] Updated: (CXF-29) DatatypeProvider not set
[ http://issues.apache.org/jira/browse/CXF-29?page=all ]
Andrea Smyth updated CXF-29:
----------------------------
Summary: DatatypeProvider not set (was: Set DatatypeProvider)
> DatatypeProvider not set
> ------------------------
>
> Key: CXF-29
> URL: http://issues.apache.org/jira/browse/CXF-29
> Project: CeltiXfire
> Issue Type: Bug
> Components: JAXB Databinding
> Reporter: Andrea Smyth
>
> When you instantiate a class that is mapped from an element which has a base64Binary attribute with a default value, and subsequently call the getter for this attribute, the invocation will fail with a NPE unless somwhere in the code a DatatypeConverter was set via DatatypeConverter.setDatatypeConverter(javax.xml.bind.DatatypeConverterInterface converter):
> e.g. generated code:
> public class Foo {
> ...
> public byte[] getBase64BinaryAttr() {
> if (base64BinaryAttr == null) {
> return DatatypeConverter.parseBase64Binary("wxyz");
> } else {
> return base64BinaryAttr;
> }
> }
> }
> application code:
> Foo foo = new ObjectFactory().createFoo();
> DatatypeConverter.setDatatypeConverter(new DatatypeConverterImpl());
> byte[] value = foo.getBase64BinaryAttr()
> We should take care that somewhere in the runtime a DatatypeConverter is set, possibly through loading (but not necessarily registering) an extension in the rt-databinding-jaxb module? From the javadoc:
> " JAXB Providers are required to call this method at some point before allowing any of the JAXB client marshal or unmarshal operations to occur".
> We cannot take the DatatypeConverterImpl provided by sun (in the com.sun.xml.bind jaxb-impl.jar) as this has a protected constructor, but could use the one from jaxme project http://ws.apache.org/jaxme/
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira