JAX-WS delegates the mapping of Java programming language types to and
from XML definitions to JAXB. Application developers don’t need to know
the details of these mappings but should be aware that not every class
in the Java language can be used as a method parameter or return type in
JAX-WS.
The following sections explain the default schema-to-Java and
Java-to-schema data type bindings:
Schema-to-Java Mapping
The Java language provides a richer set of data types than XML schema.
Table 31-1 lists the mapping of XML data types to Java data
types in JAXB.
Table 31-1 Mapping of XML Data Types to Java Data Types in JAXB
XML Schema Type |
Java Data Type |
xsd:string
|
java.lang.String
|
xsd:integer
|
java.math.BigInteger
|
xsd:int
|
int
|
xsd.long
|
long
|
xsd:short
|
short
|
xsd:decimal
|
java.math.BigDecimal
|
xsd:float
|
float
|
xsd:double
|
double
|
xsd:boolean
|
boolean
|
xsd:byte
|
byte
|
xsd:QName
|
javax.xml.namespace.QName
|
xsd:dateTime
|
javax.xml.datatype.XMLGregorianCalendar
|
xsd:base64Binary
|
byte[]
|
xsd:hexBinary
|
byte[]
|
xsd:unsignedInt
|
long
|
xsd:unsignedShort
|
int
|
xsd:unsignedByte
|
short
|
xsd:time
|
javax.xml.datatype.XMLGregorianCalendar
|
xsd:date
|
javax.xml.datatype.XMLGregorianCalendar
|
xsd:g
|
javax.xml.datatype.XMLGregorianCalendar
|
xsd:anySimpleType
|
java.lang.Object
|
xsd:anySimpleType
|
java.lang.String
|
xsd:duration
|
javax.xml.datatype.Duration
|
xsd:NOTATION
|
javax.xml.namespace.QName
|
Java-to-Schema Mapping
Table 31-2 shows the default mapping of Java classes to XML
data types.
Table 31-2 Mapping of Java Classes to XML Data Types in JAXB
Java Class |
XML Data Type |
java.lang.String
|
xs:string
|
java.math.BigInteger
|
xs:integer
|
java.math.BigDecimal
|
xs:decimal
|
java.util.Calendar
|
xs:dateTime
|
java.util.Date
|
xs:dateTime
|
javax.xml.namespace.QName
|
xs:QName
|
java.net.URI
|
xs:string
|
javax.xml.datatype.XMLGregorianCalendar
|
xs:anySimpleType
|
javax.xml.datatype.Duration
|
xs:duration
|
java.lang.Object
|
xs:anyType
|
java.awt.Image
|
xs:base64Binary
|
javax.activation.DataHandler
|
xs:base64Binary
|
javax.xml.transform.Source
|
xs:base64Binary
|
java.util.UUID
|
xs:string
|