Interstage Application Server SOAPサービス ユーザーズガイド
目次 索引 前ページ次ページ

第8章 サポートされるデータ型> 8.1 XMLとJavaのデータ型マッピング

8.1.6 java.util.Vector型

 RPCアプリケーションでは、java.util.Vectorクラスを利用することで、本節で取り上げた任意のデータ型が混在する配列を送受信できます。

XMLのデータ型として登録するデータ型

RPCアプリケーションのパラメタ(Javaのデータ型クラス)

inまたはreturn

outまたはinout

issoap:Vector

java.util.Vector

ZZZ.VectorHolder

 上記の"issoap"が表すネームスペースは"urn:xmlns-fujitsu-com:xml-soap-2002-10"です。

 

【in/return】

 java.util.Vectorクラスを使用します。
 Vectorの要素として使用できるJavaのデータ型は、inパラメタまたは返り値として使用可能なJavaのデータ型と同じです。
 Vectorの要素にnullがある場合、その要素の型の情報は保持しませんので注意してください。

 

 Vector vec = new Vector();
 String str = null;
 vec.addElement(str);  //java.lang.String型であるという情報は保持されません。

【out/inout】

 java.util.VectorクラスをRPCサーバアプリケーションのメソッドのinout/outパラメタとして使用する場合、パラメタのデータ型としてZZZ.VectorHolderクラス を使用します。RPCサーバアプリケーションのメソッドでは、パラメタとして受け取ったZZZ.VectorHolderクラスのインスタンスのvalueフィールドを変更します。これにより、VectorHolderのvalueフィールドの、変更されたjava.util.VectorがRPCクライアントアプリケーションに送信されます。

 
 RPCサーバアプリケーションでinoutパラメタとして使用する例

 //RPCサーバアプリケーションのメソッド
 // vecはinoutパラメタとしてWebサービス・マネージャに登録する
 public void server_method(VectorHolder vec) {
   Object[] objects = vec.value.toArray();  // Objectの配列としてVectorの要素を得る

   for(int i = 0; i<objects.length; i++) {
     String longString = (String)objects[i] + "00";
     vec.value.set(i,longString);   // 値のセット
   }
 }

 上記の例ではinoutパラメタとして受け取った、ZZZ.VectorHolderクラスのインスタンスのvalueフィールドの各要素(すべてjava.lang.String型であると仮定)の末尾に文字列"00"を連結し、クライアントに送信します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005