Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次 索引 |
第4部 Webサービス編 | > 第18章 Webサービスの開発 | > 18.3 Javaのデータ型とXMLのデータ型との対応 |
Webサービスアプリケーションのパラメタ(引数、返り値)で使用できるデータ型と、それに対応してXMLで使用される型を以下に示します。
Webサービスアプリケーションのパラメタに使用するJavaのデータ型 |
XMLで使用されるデータ型 |
---|---|
int |
xsd:int |
short |
xsd:short |
long |
xsd:long |
byte |
xsd:byte |
float |
xsd:float |
double |
xsd:double |
boolean |
xsd:boolean |
単純型の参照型は、一部のJavaのデータ型について、XMLで使用されるデータ型が選択したスタイル方式によって異なります。
Webサービスアプリケーションのパラメタに使用するJavaのデータ型 |
XMLで使用されるデータ型 |
|
---|---|---|
デフォルト(literal利用の場合) |
encoded利用の場合 |
|
java.lang.Integer |
xsd:int |
soapenc:int |
java.lang.Short |
xsd:short |
soapenc:short |
java.lang.Long |
xsd:long |
soapenc:long |
java.lang.Byte |
xsd:byte |
soapenc:byte |
java.lang.Float |
xsd:float |
soapenc:float |
java.lang.Double |
xsd:double |
soapenc:double |
java.lang.Boolean |
xsd:boolean |
soapenc:boolean |
java.lang.String |
xsd:string |
soapenc:string |
java.math.BigDecimal |
xsd:decimal |
soapenc:decimal |
java.math.BigInteger |
xsd:integer |
soapenc:integer |
java.util.Calendar |
xsd:dateTime |
xsd:dateTime |
javax.xml.namespace.QName |
xsd:QName |
xsd:QName |
java.net.URI |
xsd:anyURI |
xsd:anyURI |
byte[] |
xsd:base64Binary |
soapenc:base64 |
以下のXMLのデータ型は、Javaベースの開発では使用されませんが、WSDLおよびSOAP通信では利用できます。利用した場合、データの対応は以下の表のとおりです。
これらのデータ型を使用する場合、SOAP通信でXML上の値がXMLのデータ型に適合することを、アプリケーションで保証する必要があります。
XMLで使用するデータ型 |
対応するJavaのデータ型 |
---|---|
xsd:nonPositiveInteger |
java.math.BigInteger |
xsd:negativeInteger |
java.math.BigInteger |
xsd:nonNegativeInteger |
java.math.BigInteger |
xsd:unsignedLong |
java.math.BigInteger |
xsd:unsignedInt |
long |
xsd:unsignedShort |
int |
xsd:unsignedByte |
short |
xsd:positiveInteger |
java.math.BigInteger |
xsd:normalizedString |
java.lang.String |
xsd:duration |
java.lang.String |
xsd:time |
java.util.Calendar |
xsd:date |
java.util.Calendar |
xsd:gYearMonth |
java.lang.String |
xsd:gYear |
java.lang.String |
xsd:gMonthDay |
java.lang.String |
xsd:gDay |
java.lang.String |
xsd:gMonth |
java.lang.String |
xsd:token |
java.lang.String |
xsd:language |
java.lang.String |
xsd:NMTOKEN |
java.lang.String |
xsd:Name |
java.lang.String |
xsd:NCName |
java.lang.String |
xsd:ID |
java.lang.String |
xsd:hexBinary |
byte[] |
literalのWSDLのスキーマ定義でnillable属性が付いていない、またはnillable属性値が偽(false/0)のelementは、実際の通信でnil(Javaのnullに相当)になることはない要素、という意味の定義になります。
このようなelementに対応するJavaの変数は、値をnullで送信しないでください。
また、Javaで値がnullにならないデータ型(プリミティブ型)に対して、値がnillの要素を受信した場合、該当の変数は、Java言語規定で定義された初期値が設定される場合があります。
目次 索引 |