Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次 索引 |
第4部 Webサービス編 | > 第18章 Webサービスの開発 | > 18.3 Javaのデータ型とXMLのデータ型との対応 |
構造体型とBean型について、説明します。
構造体型は、任意の数のデータ(メンバと呼びます)をpublicインスタンスフィールドとして持つデータ型です。メンバは、サポートされているデータ型であれば自由に定義できます。
構造体型と、それに対応してXMLで使用される型を以下に示します。
Webサービスアプリケーションのパラメタに使用するJavaのデータ型 |
XMLで使用されるデータ型 |
---|---|
構造体型として定義した任意のクラス |
構造体 |
構造体型は、次の条件を満たすpublicクラスとして定義します。
【構造体型として定義したクラスの例】
package com.example; // パッケージ名 public class Person { public String name; // 各メンバをpublicインスタンスフィールドとして宣言する public int age; // 同上 public Person (){ // public デフォルト(引数なし)コンストラクタ name="nobody"; age=0; } public Person (String myname, int myage){ // publicコンストラクタ(省略可) name = myname; age = myage; } } |
上記のJavaに対応する、XMLの構造体のWSDL定義例を以下に示します。
<xsd:complexType name="Person"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="age" type="xsd:int"/> </xsd:sequence> </xsd:complexType> |
Bean型は、任意の数のデータ(メンバと呼びます)をプロパティとして持つ、構造体に類似したデータ型です。メンバは、サポートされているデータ型であれば自由に定義できます。
Bean型では、set/getメソッドを提供することでメンバを定義します。
Bean型と、それに対応してXMLで使用される型を以下に示します。
Webサービスアプリケーションのパラメタに使用するJavaのデータ型 |
XMLで使用されるデータ型 |
---|---|
Bean型として定義した任意のクラス |
構造体 |
Bean型は、次の条件を満たすpublicクラスとして定義します。
【Bean型の定義例】
package com.example; // パッケージ名 public class PersonBean { // 各メンバをプロパティ(set/getメソッドのペア)として宣言する private String _name;//privateのため、メンバとして直接参照されない public void setName(String name) { _name = name; } public String getName() { return _name; } // 同上 private int _age; //privateのため、メンバとして直接参照されない public void setAge(int age) { _age = age; } public int getAge() { return _age; } public PersonBean() { // public デフォルト(引数なし)コンストラクタ _name="nobody"; _age = 0; } public PersonBean(String name, int age){ // publicコンストラクタ(省略可) _name=name; _age=age; } } |
上記のJavaに対応する、XMLの構造体のWSDL定義例を以下に示します。
<xsd:complexType name="Person"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="age" type="xsd:int"/> </xsd:sequence> </xsd:complexType> |
以下のXMLのデータ型は、Javaベースの開発では使用されませんが、WSDLおよびSOAP通信で利用は可能です。
目次 索引 |