ExplicitTypes.jws サンプル
@jws:paramater-xml タグおよび @jws:return-xml タグの include-java-types 属性の使用を示す Web サービスです。この属性により、Collection に含まれる Java タイプの適切な変換が可能になります。
XML マップ
Collection の Java<->XML 変換
@jws:paramater-map および @jws:return-map の include-java-types 属性
このサンプルは、samples WebLogic Workshop プロジェクトの xmlmap フォルダにあります。ファイル システムでの場所は次のとおりです。
BEA_HOME\weblogic700\samples\workshop\applications\samples\xmlmap\ExplicitTypes.jws
この Web サービスを実行するには
適切なドメインにある WebLogic Server を起動します。
Microsoft Windows システムでは、[スタート] メニューから次のように選択します。
[BEA WebLogic Platform 7.0|WebLogic Workshop|WebLogic Workshop Examples|Start Examples Server]
Linux システムまたは Solaris システムでは、次のスクリプトを実行します。
BEA_HOME/weblogic700/samples/workshop/startWebLogic.sh
WebLogic Workshop でサービスを開いて [開始] を選択するか、またはブラウザのアドレス バーに「http://localhost:7001/samples/xmlmap/ExplicitTypes.jws」と入力して、サービスを起動します。適切なドメインにある WebLogic Server がこのマシン上で実行されている場合は、ここをクリックしてサンプルを実行することもできます。
テスト ビューの [Test XML] タブに移動します。このサンプルでは、HTTP-GET リクエストでエンコードできない複雑なタイプが想定されているので、[Test Form] タブを使用して in メソッドを呼び出すことができません。
out メソッドを呼び出します。out メソッドは、不明なタイプのオブジェクトのシリアライゼーションを制御する include-java-types の使用を示します。シリアライズされるオブジェクトは ArrayList であり、Objects を含むよう宣言されています。シリアライゼーション コードは、提示なしでは一般的なオブジェクトのシリアライズ方法を判断できません。include-java-types 属性によってシリアライズされるタイプのリストが提供されるので、シリアライゼーション コードはオブジェクトを認識し、適切に変換することができます。この場合では、シリアライズされる ArrayList に、int の配列と String の配列が 2 つの要素として含まれます。
返されるメッセージに、配列の内容を表す <int> 要素と <String> 要素が含まれていることに注目してください。
out メソッドの応答から、<outResult> タグの間にある XML(タグは含まない)をクリップボードにコピーします。
[Test operations] を選択して、Web サービスのすべてのメソッドを含むページに戻ります。
クリップボードの内容を、in メソッドのテキスト領域に <arrayList> タグの内容として貼り付けます。<in> タグと <arrayList> タグは残しておく必要があり、<arrayList> タグと </arrayList> タグの間の内容をすべて置き換えなければなりません。
in メソッドを呼び出します。応答は、入力データを検証するフォーマットされた文字列になります。