Web サービス・ツール - リリース情報

1.0 概要
2.0 サポートされるソフトウェアと仕様
3.0 前のリリースからの変更点
4.0 制限
   4.1 Supply Chain Management サンプルを実行できない
5.0 既知の問題
   5.1 Web サービス・エクスプローラー
   5.2 TCP/IP モニター・サーバーが Linux で機能しない
   5.3 IBM SOAP ランタイムとのインターオペラビリティー
   5.4 DADX ファイルからの WSDL 文書の生成
   5.5 Web ツールの JSP ジェネレーター
   5.6 Hospital シナリオ
   5.7 Universal Test Client の使用
   5.8 特定の場合には、DADX Web サービスでの複数出力が許可される
   5.9 JDBC ドライバー設定は Linux 専用である
   5.10 XML エクステンダーがデフォルト・ディレクトリーにインストールされていない場合、DAD 実例ファイルの更新が必要
   5.11 DADX Web サービスの問題
   5.12 Mozilla と Netscape が両方とも稼働している場合は、エクスプローラーのポップアップ・ダイアログが正しく表示されない
   5.13 DADX 生成サポート
   5.14 Web サービスを 4.0.x からインポートした後での WSDL エラー
   5.15 GTK を持つ Linux を使用するときの問題
   5.16 AXIS ランタイムでの Tomcat サーバーの使用
   5.17 Web サービス・コマンド行を使用するときの問題
   5.18 既存のサーバーを持たない Web サービスの作成
   5.19 Web サービス・サンプル・アプリケーションの生成
   5.20 HTTP 基本認証による WSDL ファイルのインポート
   5.21 WebSphere v5.0.2 ランタイムの使用に関する問題
   5.22 データ・ソース情報を持つ DADX グループのセットアップ
   5.23 Universal Test Client を使用したクライアント・ロケーターのロード
   5.24 リソース設定が監視されない
   5.25 Apache Axis 1.0 ランタイムの使用に関する問題
   5.26 Web サービス・サンプル JSP のコンパイルが失敗した
   5.27 未定義のローカル・ホストに関するエラー
   5.28 IBM SOAP ランタイムを使用するときの永続的な制限
   5.29 異なるランタイムを使用する Web サービスおよびクライアント
   5.30 Web サービス・クライアント・ウィザードでの「完了 (Finish)」のクリック
   5.31 Web サービス説明書

1.0 概要

Web サービス・ツール・フィーチャーを使用すると、Java Bean、DADX、Enterprise Bean、および URL Web サービスの検出、作成、およびパブリッシュを行うことができます。 この README ファイルでは、次の Web サービス・ツール機能に関係する既知の問題、制限、およびそれらの対応策について説明します。

2.0 サポートされるソフトウェアと仕様

このリリースの Web サービス・ツールは、次の仕様に合致するコードを生成します。

このリリースの Web サービス・ツールは、以下の機能をサポートします。

Mozilla を使用してワークベンチの外部で WORF テスト環境を起動する場合は、Mozilla バージョンの少なくとも 1.3.1 をお勧めします。 Web サービスと記述ファイルを起動して作成した出力は、早期バージョンの Mozilla ブラウザーでは正しく表示されないことがあります。

DADX ランタイムには、DB2 7.2 修正パッケージ 6 以上、または DB2 8.1 以上が必要です。

3.0 前のリリースからの変更点

以下の機能は v5.1 の Web サービス・ツールに新たに追加されたものです。

4.0 制限

4.1 Supply Chain Management サンプルを実行できない

Supply Chain Management サンプルが WAS Express で稼働しません。

5.0 既知の問題

5.1 Web サービス・エクスプローラー

5.2 TCP/IP モニター・サーバーが Linux で機能しない

The TCP/IP モニター・サーバーが Linux で機能しません。 モニター・サーバーを Web サービスと Web サービス・クライアント (たとえば、Web サービス・サンプル JSP、Web ツール Java Bean JSP、および Universal Test Client) の間に挿入しようとすると、クライアントとサーバー間の通信が妨害されます。特に、クライアントはサービスからの最初の応答で無期限にハングします。 サンプル JSP または UTC でこの状態からリカバリーするには、すべてのブラウザーをクローズして、WebSphere Studio の外部から新規ブラウザーを起動し、生成されたサンプル JSP または Universal Test Client の該当する URL を入力します。

Linux で SOAP トラフィックをモニターするには、他のモニター・ツールを使ってみます (たとえば、Apache SOAP ランタイムに組み込まれた TCP/IP トンネル。 これは、http://ws.apache.org/soap/index.html.tool からダウンロード可能)。 トンネルを開始し、Web サービス・クライアント・オペレーションを起動します。 要求および応答トラフィックはトンネルに現れなければなりませんが、クライアントは中断しているように見えます。 トンネルを停止してください。これでクライアントが非ブロック化され、オペレーションが完了します。 次の呼び出しを行う前に、トンネルを再始動してください。

5.3 IBM SOAP ランタイムとのインターオペラビリティー

5.4 DADX ファイルからの WSDL 文書の生成

5.5 Web ツールの JSP ジェネレーター

DB2 ドライバー db2java.zip を WebSphere ws.ext.dirs クラス・パスに追加する必要があります。 db2java.zip を追加するには、次のようにします。

  1. サーバー・パースペクティブに切り替える (「ウィンドウ (Window)」>「パースペクティブのオープン (Open Perspective)」>「サーバー (Server)」).
  2. 「サーバー構成 (Server Configuration)」ペインで「サーバー (Server)」を展開する。
  3. 「WebSphere バージョン 4.0 テスト環境 (WebSphere v.4.0 Test Environment)」をダブルクリックする。 インスタンス・エディターがオープンします。
  4. インスタンス・エディターで、「パス (Paths)」タブをクリックしてから、「WebSphere 固有のクラス・パス (ws.ext.dirs) (WebSphere specific class path (ws.ext.dirs))」セクションで「外部 JAR の追加 (Add External JARs)」をクリックして、/home/db2inst1/sqllib/java12/db2java.zip を WebSphere パスに追加します。
  5. 「ファイル (File)」>「保管 (ファイルの名前) (Save (name of file))」と選択して変更内容を保管してから、インスタンス・エディターを終了します。

Hospital シナリオに関する文書の更新については、WebSphere 開発者ドメイン へ進み、「ライブラリー (Library)」をクリックしてください。

5.7 Universal Test Client の使用

Universal Test Client を Web サービス・ウィザードから起動すると、JNDI プロバイダー URL が WebSphere v5 のデフォルト・ポート 2809 に設定されます。 WebSphere v4 サーバーを使用している場合、またはポート番号を変更した場合は、JNDI ディレクトリーを検索することができません。 JNDIディレクトリーへのアクセスを試行すると、以下のエラーを受け取ります。

IWAD0403E Could not construct the JNDI tree: Caught CORBA.COMM_FAILURE when resolving initial reference=WsnNameService

対応策:

  1. 使用しているサーバーをダブルクリックする。 これにより、サーバー・プロパティーが表示されます。
  2. ポートのタブを選択する。
  3. Orb ブートストラップ・ポートをコピーする。
  4. 汎用テスト・クライアントの「JNDI のプロパティー (JNDI properties)」ウィンドウをオープンする。
  5. ブートストラップ・ポートを「プロバイダー URL (Provider URL)」テキスト入力ボックスに貼り付ける。

5.8 特定の場合には、DADX Web サービスでの複数出力が許可される

通常は、Web サービス内の複数出力は弊社のツールではサポートされません。 しかし、DADX Web サービスの場合には、「文書スタイル・グループ・プロパティーの使用」true にセットされていれば、複数出力は許されます。 この場合、「文書スタイル」「true」 であれば、複数出力は 1 つの XML 文書に結合されます。

5.9 JDBC ドライバー設定は Linux 専用である

「JDBC ドライバー」という新規の Web サービス設定 (「Windows」> 「設定」>「Web サービス」) カテゴリーが追加されました。この設定は全プラットフォームで使用できますが、Linux での使用のみを目的としています。 Linux では JDBC ドライバーのある JAR ファイルの場所を判断するのが困難な場合があります。 したがって、この設定ページが追加され、ユーザーが使用する JAR ファイルを指定することができます。 現在、DADX 検証コードのみがこの JAR ファイル情報を使用します。

5.10 XML エクステンダーがデフォルト・ディレクトリーにインストールされていない場合、DAD 実例ファイルの更新が必要

WSinstall_dir\wstools\eclipse\plugins\com.ibm.etools.webservice_<version>\samples\DADX_examples ディレクトリーにある DAD ファイルは 2 か所の変更を加えてユーザー固有のシステム構成を反映させる必要があります。

ファイルの先頭付近にある以下のような行です。

<!DOCTYPE DAD SYSTEM "c:\dxx\dtd\dad.dtd">

XML エクステンダーが c:\dxx とは別のロケーションにロードされている場合は、この ストリングを実際のロケーションを反映するように更新する必要があります。 これは Linux マシンにも同様に適用されますが、そのロケーションは通常 /usr/IBMdb2xml になります。

5.11 DADX Web サービスの問題

5.12 Mozilla と Netscape が両方とも稼働している場合は、エクスプローラーのポップアップ・ダイアログが正しく表示されない

Mozilla と Netscape が同時に実行されていると、Web サービス・エクスプローラーのポップアップ・ダイアログが正しく表示されないことがあります。 ポップアップ・ダイアログには、Browse WSDL ダイアログと Browse Category ダイアログがあります。 これに対処するには、Mozilla または Netscape のいずれかを使用しますが、これを両方同時に実行することはできません。

5.13 DADX 生成サポート

ユーザー定義機能が「DADX の生成 (Generate DADX)」ウィザードにリストされていますが、現在、ユーザー定義機能から DADX を生成するためのサポートはありません。 DAD ファイル、ストアード・プロシージャー、および SQL ステートメントからの DADX 生成のみがサポートされます。 UDF を選択すると、単純な DADX スケルトン・ファイルが生成されます。

5.14 Web サービスを 4.0.x からインポートした後での WSDL エラー

Web サービス・ファイルを 4.0.x からインポートした場合は、次のエラー・メッセージを受け取ることがあります。

エラー 「結果」部分に、無効な値 'anyElement' がその型として定義されています。 型宣言は、スキーマに定義された有効な値を参照していなければなりません。 (Error The part 'result' has an invalid value 'anyElement' defined for its type. Type declarations must refer to valid values defined in a schema.)
エラー 「戻り」部分に、無効な値 'findPatientResult' がその型として定義されています。エレメント宣言は、スキーマに定義された有効な値を参照していなければなりません。 (Error The part 'return' has an invalid value 'findPatientResult' defined for its element. Element declarations must refer to valid values defined in a schema.)

エラー 「応答」部分に、無効な値 'findPatientResponse' がその型として定義されています。エレメント宣言は、スキーマに定義された有効な値を参照していなければなりません。 (Error The part 'response' has an invalid value 'findPatientResponse' defined for its element. Element declarations must refer to valid values defined in a schema.)

対応策:

  1. WSDL ファイルを削除します。
  2. Web Services ウィザードを再実行して Web サービスを再生成します。

5.15 GTK を持つ Linux を使用するときの問題

5.16 AXIS ランタイムでの Tomcat サーバーの使用

5.17 Web サービス・コマンド行を使用するときの問題

5.18 既存のサーバーを持たない Web サービスの作成

5.19 Web サービス・サンプル・アプリケーションの生成

5.20 HTTP 基本認証による WSDL ファイルのインポート

相対インポートを持ち、HTTP 基本認証によって保護されている WSDL ファイルからスケルトンまたはクライアントを生成する場合、正しいユーザー ID とパスワードを入力しても、WSDL ファイルを解決できないというエラー・メッセージが出ます。 この問題は、ユーザー ID とパスワードが元の WSDL ファイルの検索のみに使用され、インポートするファイルの検索には使用されていないことを示します。

この問題を解決するには、まず、WSDL ファイルと、ワークベンチにインポートするすべてのファイルをダウンロードし、次に、ダウンロードした WSDL ファイルからスケルトンとクライアントを生成します。

5.21 WebSphere v5.0.2 ランタイムの使用に関する問題

5.22 データ・ソース情報を持つ DADX グループのセットアップ

WebSphere Application Server V5.0 を使用して DADX Web サービスをホスティングする場合は、DADX グループの group.properties ファイルは以下の initialContextFactory プロパティーを使用しなければなりません。

initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory

また、DADX グループが含まれているプロジェクトの web.xml ファイルには、以下のものを追加する必要があります。 (データ・ソース JNDI 名が jdbc/hospital であると想定します。)

       <resource-ref id="ResourceRef_1058550453092">
              <res-ref-name>jdbc/hospital</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>CONTAINER</res-auth>
              <res-sharing-scope>Shareable</res-sharing-scope>
       </resource-ref>
 

5.23 Universal Test Client を使用したクライアント・ロケーターのロード

Universal Test Client が、WebSphere v5.0.2 または Axis ランタイムによって生成されたクライアント・ロケーター・クラスをプリロードできない場合、その理由は、サービス Web プロジェクト内の Java Bean クラスの名前が、クライアント Web プロジェクト内の SEI クラスの名前と同じであることです。 この問題の対応策は次のとおりです。

  1. ワークスペースからクライアント Web プロジェクトを除去します。
  2. クライアント Web プロジェクトを別の EAR に作成します。 その場合、EAR プロジェクト名が、アルファベット順でサービス EAR プロジェクト名の前に来ていなければなりません。 たとえば、サービス EAR プロジェクト名が "DefaultEAR" であれば、新規の EAR プロジェクト名 "ClientEAR" を作成します。
  3. Web サービス・ウィザードを再実行します。

 

5.24 リソース設定が監視されない

WebSphere v5.0.2 および Axis ランタイムを使用して Web サービスを作成する場合は、ファイル上書き、フォルダー作成、および自動ファイル・チェックアウト設定は監視されません。 フォルダー作成は常に許可され、自動ファイル・チェックアウトは使用可能になりません。

WebSphere v5.0.2 ランタイムを使用する場合は、WSDL ファイル、SEI、およびデプロイメント作成物 (シリアライザーおよびデシリアライザー) は常に上書きされます。開発作成物 (サービス Bean、複合タイプ Bean、holder および helper クラス) は上書きされません。 ただし、デプロイメント記述子が存在している場合は、それを上書きすると警告が出ます。 「OK」を選択してデプロイメント記述子を上書きしてシナリオを継続することもできるし、「取り消し (Cancel)」を選択してデプロイメント記述子が上書きされないようにすることもできます。

Apache Axis 1.0 ランタイムを使用している場合は、Axis エミッターが常にすべてのサーバー/クライアント Java ファイル deploy.wsdd および undeploy.wsdd を再生成します。 サービス生成シナリオの WSDL2Java は、スケルトン・インプリメンテーション・ファイルがない場合にのみそれを生成します。 このインプリメンテーション・ファイルがすでにある場合は、それは上書きされません。

5.25 Apache Axis 1.0 ランタイムの使用に関する問題

5.26 Web サービス・サンプル JSP のコンパイルが失敗した

WSDL から Web サービスのスケルトンまたはプロキシーを生成する場合、WSDL がその <service> エレメントおよび <port> エレメントのいずれかに同じ名前を使用しているときは、サンプル JSP をテスト・クライアントとして使用しないでください。 生成されるサンプル JSP にはエラーが含まれているためコンパイルされません。 サンプル JSP をサーバーで実行しようとすると、サンプル JSP をロードできないことを示す ERROR 500 がブラウザーに表示され、サーブレット・コンテナーがサンプル JSP をコンパイルできなかったことを示す例外がサーバー・コンソールに表示されます。

5.27 未定義のローカル・ホストに関するエラー

ホスト名「localhost」がコンピューターに定義されていないと、WSDL の生成中に Web サービス作成ウィザードが失敗することがあります。 「localhost」が定義されていないと、UTC も正常に起動できなくなる可能性があります。

Windows の場合は、次の項目が [INSTALL-DRIVE]\WINNT\system32\drivers\etc\hosts ファイルに入っていなければなりません。

127.0.0.1 localhost

Linux の場合は、次の項目が /etc/hosts ファイルに入っていなければなりません。

127.0.0.1 localhost

5.28 IBM SOAP ランタイムを使用するときの永続的な制限

IBM SOAP ランタイムは、主として後方互換性のために使用する必要があります。 実動を目的としたすべての場合に、Web サービス・ウィザードを IBM WebSphere 5.0.2 ランタイムで使用することを強くお勧めします。 Web サービス・ウィザードを IBM SOAP ランタイムで使用する場合、ユーザーは、次のような永続制限に陥ることがあります。

5.29 異なるランタイムを使用する Web サービスおよびクライアント

Web サービスを Java Bean または EJB から作成する場合、IBM SOAP をサービス・ランタイムとして、また Apache Axis 1.0 をクライアント・ランタイムとして選択すると、次のエラーが発生します。
WSDL が見つかりません (WSDL Not found)

この問題を回避するには、まず、プロキシーの生成を選択せずに Web サービスを作成します。 次に、生成された WSDL ファイルから Web サービス・クライアントを作成します。

5.30 Web サービス・クライアント・ウィザードでの「完了 (Finish)」のクリック

Web サービス・クライアント・ウィザードを使用する場合、「クライアント環境構成 (Client Environment Configuration)」ページで「完了 (Finish)」をクリックすると、次のエラーになります。

「ヌル」は解決できません ("null" is not resolvable)

これの対応策は、そのページで「次へ (Next)」をヒットし、次のページで「完了 (Finish)」をヒットします。

5.31 Web サービス説明書

「WS-I 準拠 Web サービス説明書の作成、テスト、および妥当性検査 (Create,test and validate a WS-I compliant Web Service Cheatsheet)」および「WSDL ファイル説明書からの Web サービスの作成 (Create a Web Service from a WSDL file CheatSheet)」で、wsad_install/wstools/eclipse/plugins/com.ibm.etools.cs.wsdl.content_5.1/examples からの HelloService.wsdl ファイルを使用している場合は、以下のようにして、別のランタイムに従ってサービス・ポート・ロケーションを変更してください。

IBM Soap の場合:

location="http://localhost:9080/HelloWorldSample/servlet/rpcrouter"

Apache Axis または WebSphere 5.0.2 ランタイムの場合

location="http://localhost:9080/HelloWorldSample/services/Hello_Port"

自分の WSDL ファイルをインポートする場合は、既述の手順で選択したランタイムに従ってロケーションが正しく設定されていることを確認してください。

メインの README ファイルに戻る