ナビゲーションをスキップ

WebLogic Web サービス プログラマーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

データ型とデータ バインディング

以下の節では、サポートされるデータ型 (組み込みおよびユーザ定義のデータ型) とデータ バインディングについて説明します。

 


データ型とデータ バインディングの概要

以前のリリースと同様、WebLogic Web サービスは、JAX-RPC 1.1 仕様の規定に従って、組み込みの XML スキーマ、Java、および SOAP のデータ型をサポートしており、追加のプログラミング手順を行わずに、Web サービスのオペレーションでそれらのデータ型を使用することができます。組み込みデータ型には、integerstringtime などがあります。

また、Web サービスの入力パラメータや戻り値として、さまざまなユーザ定義の XML および Java データ型 (XMLBean を含む) を使用できます。ユーザ定義のデータ型には、XML スキーマや Java の構成要素から作成する <xsd:complexType> や JavaBean などがあります。jwscclientgen などの WebLogic Web サービス Ant タスクでは、ユーザ定義のデータ型を XML 表現と Java 表現の間で変換するのに必要なデータ バインディング アーティファクトが自動的に生成されます。XML 表現は SOAP リクエストや応答メッセージで使用し、Java 表現は Web サービスを実装する JWS で使用します。XML 表現と Java 表現の間のデータ変換のことをデータ バインディングと呼びます。

 


サポートされる組み込みデータ型

次の節では、WebLogic Web サービスがサポートする組み込みデータ型およびその XML 表現と Java 表現間のマッピングについて説明します。Web サービスを実装するバックエンド コンポーネントのパラメータと戻り値のデータ型が、組み込みデータ型のセットの中にある限り、データは WebLogic Server によって、XML と Java 間で自動的に変換されます。

しかし、ユーザ定義のデータ型を使用する場合は、XML 表現と Java 表現の間でデータを変換するデータ バインディング アーティファクトを作成する必要があります。WebLogic Server には、jwsc および wsdl2service Ant タスクが含まれており、ほとんどのユーザ定義データ型のデータ バインディング アーティファクトを生成できます。サポートされる XML データ型と Java データ型については、「サポートされるユーザ定義のデータ型」を参照してください。

組み込みデータ型の XML-to-Java マッピング

次の表に、サポートされる XML スキーマ データ型 (ターゲット ネームスペース http://www.w3.org/2001/XMLSchema) と、それぞれに対応する Java データ型をまとめます。

サポートされるユーザ定義の XML データ型については、「組み込みデータ型の Java-to-XML マッピング」を参照してください。

表 7-1 XML スキーマ データ型と Java データ型のマッピング

XML スキーマ データ型

同等の Java データ型

(小文字はプリミティブ データ型を示す)

boolean

boolean

byte

byte

short

short

int

int

long

long

float

float

double

double

integer

java.math.BigInteger

decimal

java.math.BigDecimal

string

java.lang.String

dateTime

java.util.Calendar

base64Binary

byte[]

hexBinary

byte[]

duration

java.lang.String

time

java.util.Calendar

date

java.util.Calendar

gYearMonth

java.lang.String

gYear

java.lang.String

gMonthDay

java.lang.String

gDay

java.lang.String

gMonth

java.lang.String

anyURI

java.net.URI

NOTATION

java.lang.String

token

java.lang.String

normalizedString

java.lang.String

language

java.lang.String

Name

java.lang.String

NMTOKEN

java.lang.String

NCName

java.lang.String

NMTOKENS

java.lang.String[]

ID

java.lang.String

IDREF

java.lang.String

ENTITY

java.lang.String

IDREFS

java.lang.String[]

ENTITIES

java.lang.String[]

nonPositiveInteger

java.math.BigInteger

nonNegativeInteger

java.math.BigInteger

negativeInteger

java.math.BigInteger

unsignedLong

java.math.BigInteger

positiveInteger

java.math.BigInteger

unsignedInt

long

unsignedShort

int

unsignedByte

short

Qname

javax.xml.namespace.QName

組み込みデータ型の Java-to-XML マッピング

サポートされるユーザ定義の Java データ型については、「サポートされるユーザ定義の Java データ型」を参照してください。

表 7-2 Java データ型と XML スキーマ データ型のマッピング

Java データ型 (小文字はプリミティブ データ型を示す)

同等の XML スキーマ データ型

int

int

short

short

long

long

float

float

double

double

byte

byte

boolean

boolean

char

string (length=1 のファセット付き)

java.lang.Integer

int

java.lang.Short

short

java.lang.Long

long

java.lang.Float

float

java.lang.Double

double

java.lang.Byte

byte

java.lang.Boolean

boolean

java.lang.Character

string (length=1 のファセット付き)

java.lang.String

string

java.math.BigInteger

integer

java.math.BigDecimal

decimal

java.util.Calendar

dateTime

java.util.Date

dateTime

byte[]

base64Binary

javax.xml.namespace.QName

Qname

java.net.URI

anyURI

 


サポートされるユーザ定義のデータ型

以降の節の表には、jwsc および wsdl2service Ant タスクでデータ バインディング アーティファクトを生成できるユーザ定義の XML データ型および Java データ型 (対応する Java 表現または XML 表現、JAX-RPC の型マッピング ファイルなど) をまとめます。

これらの表に含まれていない XML データ型または Java データ型で、「サポートされる組み込みデータ型」の表に示した組み込みデータ型でもない場合は、ユーザ定義データ型のアーティファクトを手動で作成する必要があります。

サポートされるユーザ定義の XML データ型

次の表に、jwsc および wsdl2service Ant タスクでサポートされる XML スキーマ データ型と、それぞれに対応する Java データ型またはマッピング メカニズムをまとめます。

データ型の詳細や例については、JAX-RPC 仕様を参照してください。

表 7-3 サポートされているユーザ定義の XML スキーマ データ型

XML スキーマ データ型

同等の Java データ型またはマッピング メカニズム

列挙

型保障列挙パターン。詳細は、JAX-RPC 仕様のセクション 4.2.4 を参照。

単純型および複合型の両方の要素を持つ <xsd:complexType>

JavaBeans。

単純なコンテンツを含む <xsd:complexType>

JavaBeans。

<xsd:complexType><xsd:attribute>

JavaBeans のプロパティ。

既存の単純型の制限による新しい単純型の派生

同等の単純型の Java データ型。

制限要素で使用されるファセット

シリアライゼーションおよびデシリアライゼーションで強制されないファセット。

<xsd:list>

リスト データ型の配列。

wsdl:arrayType 属性を使用した制限によって soapenc:Array から派生する配列

arrayType データ型と同等の Java データ型の配列。

制限によって soapenc:Array から派生する配列

同等の Java データ型の配列。

単純型からの複合型の派生

_value というプロパティを含む JavaBean。_value の型は、この節の規則に従って単純型からマップされる。

<xsd:anyType>

java.lang.Object。

<xsd:union>

ユニオン メンバーの共通の親タイプ。

<xsi:nil> および <xsd:nillable> 属性

Java の null 値。

XML データ型が組み込みデータ型で通常は Java プリミティブ データ型 (intshort など) にマップされる場合、その XML データ型は実際には同等のオブジェクト ラッパー型 (java.lang.Integerjava.lang.Short など) にマップされる。

複合型の派生

Java の継承を使用してマップされる。

抽象型

抽象 Java データ型。

サポートされるユーザ定義の Java データ型

次の表に、jwsc および wsdl2service Ant タスクでサポートされるユーザ定義の Java データ型と、それぞれに対応する XML スキーマ データ型をまとめます。

表 7-4 サポートされているユーザ定義の Java データ型

Java データ型

同等の XML スキーマ データ型

サポートされている任意のデータ型をプロパティとする JavaBean

JavaBean プロパティに対応する要素の <xsd:sequence> をコンテンツ モデルとする <xsd:complexType>

サポートされるすべてのデータ型の配列 (JavaBean プロパティとして使用する場合)

maxOccurs 属性が unbounded に設定されている <xsd:complexType> 内の要素。

java.lang.Object

注意 : 実行時オブジェクトのデータ型は既知の型でなければならない。

<xsd:anyType>。

注意 : 以下の Java データ型は、バージョン 8.1 の WebLogic Web サービスではサポートされていましたが、今後はサポートされません。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次