users@jaxb.java.net

SOAP and JAXB - problems with "mustUnderstand"

From: Mark D. Hansen <khookguy_at_yahoo.com>
Date: Fri, 02 May 2003 18:49:50 -0400

I'm having problems with JAXB classes generated from a schema that
extends SOAP. In particular, the "mustUnderstand" attribute does not
seem to be handled properly. The SOAP schema for "mustUnderstand" is:

<xs:attribute name="mustUnderstand">
  <xs:simpleType>
    <xs:restriction base="xs:boolean">
      <xs:pattern value="0|1" />
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>

The JAXB generated class to set/get the "mustUnderstand" attribute end
creating instances such as this when unmarshalled:

<ns2:ReliableMessage
  ns1:mustUnderstand="true"
  xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:ns2="http://schemas.fujitsu.com/rm">

Notice that the result is mustUnderstand="true". BUT THE SOAP
XMLSchema INDICATES THAT THE pattern value="0|1". So, the Unmarshaller
is not working properly. It should be creating an attribute like this:

  ns1:mustUnderstand="1"

Has anyone experienced this problem? Am I understanding JAXB correctly?

Thanks,

- Mark