Hitachi

Cosminexus V11 アプリケーションサーバ SOAPアプリケーション開発の手引


3.2.6 リモートインタフェースおよびユーザ定義のデータ型クラスでの配列の使用

リモートインタフェースのメソッドのパラメタ,戻り値,またはこれらに指定するユーザ定義のデータ型クラス内で配列を使用できます。

配列を使用した場合,Java2WSDLコマンドおよびWSDL2Javaコマンド実行時に,"SequenceOf"で始まるデータ型クラスが生成されます。生成例を次に示します。

例えば,sentArrayDataメソッドに対して,{ "data1", "data2" }という配列を与える場合,次のようにSequenceOf_xsd_stringインスタンスを生成して呼び出します。

ArrayBankServiceLocator locator = new ArrayBankServiceLocator();
ArrayBank port = locator.getArrayBank();
SequenceOf_xsd_string in0 = new SequenceOf_xsd_string();
in0.setItem( new String[]{ "data1", "data2" } );
port.sentArrayData( in0 );

なお,配列を使用する場合,その配列が空である(要素数が0である)ことと,その配列がnullであることを区別することはできません。配列が空である場合も,配列がnullであるものとして扱われます。

また,例えば,sentArrayDataメソッドの第1引数をin0として,次のように生成したSequenceOf_xsd_stringインスタンスをクライアント側の実装で与えた場合,SOAPサービス側の実装のメソッド内で第1引数から取得できるin0に対し,getItemメソッドを呼び出した結果はどちらもnullです。