Interstage Application Server SOAPサービス ユーザーズガイド |
目次
索引
![]() ![]() |
第8章 サポートされるデータ型 | > 8.1 XMLとJavaのデータ型マッピング |
以下の表にXMLの配列型と、Java言語のRPCアプリケーションで使用するデータ型の対応を示します。
XMLのデータ型 |
RPCアプリケーションのパラメタ(Javaのデータ型クラス) |
|
---|---|---|
inまたはreturn |
outまたはinout |
|
soapenc:Array |
配列 |
ZZZ.ArrayOfデータ型Holder |
配列型としてString型の配列の場合、WSDL定義は以下のようになります。
<complexType name ='ArrayOfString'> |
Javaの配列を使用します。
Int型の1次元配列の例
int[] value; |
UnsignedInt型の2次元配列の例
com.fujitsu.interstage.soapx.types.UnsignedInt[][] value; |
構造体型の3次元配列の例
構造体型として定義した任意のクラス[][][] value; |
列挙型の1次元配列の例
列挙型として定義した任意のクラス[] value; |
列挙型の3次元配列の例
列挙型として定義した任意のクラス[][][] value; |
Bean型の2次元配列の例
Bean型として定義した任意のクラス[][] value; |
[1次元Holder] [2次元Holder] |
配列をout/inoutパラメタとして使用する場合、RPCサーバアプリケーションではZZZ.ArrayOfデータ型Holderクラスを使用します。このクラスは、以下のように配列を保持するフィールドと、コンストラクタを持っています。
クラス名 |
メソッド名 |
説明 |
---|---|---|
ZZZ.ArrayOfデータ型Holder |
public データ型配列 value |
インスタンスフィールド。 |
public void ArrayOfデータ型Holder(データ型配列 initial) |
コンストラクタ。 |
(注)2次元配列の場合は、ZZZ.ArrayOfデータ型2DHolderになります。
配列をRPCサーバアプリケーションのメソッドのinout/outパラメタとして使用する場合、パラメタのデータ型としてZZZ.ArrayOfデータ型Holder を使用します。RPCサーバアプリケーションのメソッドでは、パラメタとして受け取った、ZZZ.ArrayOfデータ型Holderクラスのインスタンスのvalueフィールドを更新します。これにより、更新された新しい配列がRPCクライアントアプリケーションへout/inoutパラメタとして送信されます。
3次元以上の単純型の配列をRPCサーバアプリケーションでinout/outパラメタとして使用する場合は、inout/outパラメタの配列データ型をvalueに持つHolderクラスを作成する必要があります。
import javax.xml.rpc.holders.Holder; |
//RPCクライアントアプリケーション Service service = ServiceFactory.newInstance().createService(new QName("","")); |
RPCサーバアプリケーションでint型の1次元配列をinoutパラメタとして使用する例
//RPCサーバアプリケーションのメソッド |
上記の例では、第1パラメタのArrayOfIntHolderオブジェクトの持つ配列を取り出し、各要素に含まれる値を2倍してinoutパラメタとしてRPCクライアントアプリケーションへ送信します。
Webサービス情報ファイルの記述例
: |
目次
索引
![]() ![]() |