Java 1.6 以降の操作
Watson™ Explorer Engine WSDL 仕様から velocity.jar JAR ファイルを作成するには、以下を実行します。
- Java JDK バージョン 1.6 以降がシステムにインストールされていること、および JDK の実行可能ファイルが PATH にあることを確認します。
- Java ベースのビルド・ツールである ant がシステムにインストールされていることを確認します。Apache Ant Project Site から ant をダウンロードしてインストールすることができます。Linux を実行している場合、ご使用の Linux ディストリビューション用の ant のバージョンは、おそらくディストリビューションのリポジトリー内で既に使用可能であり、ご使用のディストリビューションのパッケージ管理ソフトウェアを使用してインストールすることができます。
- Watson Explorer Engine API の JAR ファイルを作成するためのディレクトリーを作成し、そのディレクトリーを作業ディレクトリーにします。
- Java API for XML Web Services (JAX-WS) JAR ファイルを JAX-WS Web サイトから作業ディレクトリーにダウンロードし、次のコマンドを使用して、その内容を解凍します。
java -jarname-of-JAX-WS-JAR-fileこの JAR ファイルの内容を解凍すると、アーカイブの内容を解凍できるようになる前に、配布に使用するライセンス (COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0) の条項を受け入れることを要求するダイアログが表示されます。これを受け入れるには、表示されたダイアログをスクロールしてライセンスを読んでください。ライセンス・ダイアログの一番下に到達したら、「Accept」をクリックできます。
注: IBM では Watson Explorer Engine のテストに使用した JAX-WS JAR ファイルのバージョンである、JAX-WS RI v2.1.7 を使用することを推奨します。JAX-WS のバージョン 2.2.X を使用すると、velocity.jar を作成するプロセスに追加の変更が必要になる場合があります。 - build.xml ファイルを Watson Explorer Engine インストール済み環境内の examples/java/API ディレクトリーから作業ディレクトリーにコピーします。
- xjc-bindings.xml ファイルを Watson Explorer Engine インストール済み環境内の examples/java/API ディレクトリーから作業ディレクトリーにコピーします。
- 好みのテキスト・エディターを使用して build.xml ファイルを編集し、以下のようにします。
- ご使用の Watson Explorer Engine サーバー上の汎用 WSDL の URI が含まれるように、wsdl.uri プロパティーの値を変更します。(これは、「Generic WSDL」ラベルの横の「Generate WSDL」をクリックすると表示される URI です。)ヒント: ご使用の Watson Explorer Engine インストール済み環境から Watson Explorer Engine WSDL 仕様を手動で生成し、それをファイルに保存し、wsdl.uri プロパティーの値としてそのファイルの名前を指定することもできます。
build.xml ファイルに加える必要のある変更は、Watson Explorer Engine 開発を実行するオペレーティング・システムによって多少異なります。
- Microsoft Windows プラットフォーム: Microsoft Windows バージョンの Watson Explorer Engine を実行している場合、URI の cgi-bin/velocity 部分に .exe 拡張子を追加する必要があります。Watson Explorer Engine をシステムのデフォルト・ロケーションにインストールし、インストール・プロセス中に推奨された仮想ディレクトリーを作成した場合、このプロパティーのデフォルト値のホスト IP アドレスのみ変更する必要があります。Watson Explorer Engine を別の場所にインストールしたか、Watson Explorer Engine 用に別の仮想ディレクトリー項目を作成した場合、URI を適切に変更する必要があります。
- Linux プラットフォーム: Linux バージョンの Watson Explorer Engine を実行していて、Watson Explorer Engine をシステムのデフォルト・ロケーションにインストールしている場合、このプロパティーのデフォルト値の IP アドレスのみを変更する必要があります。Watson Explorer Engine を別の場所にインストールしたか、Watson Explorer Engine 用に別の Apache 仮想ホストを作成した場合、URI を適切に変更する必要があります。
注: WSDL の URI を build.xml ファイルにカット・アンド・ペーストする場合、XML で特別な意味を持つアンパーサンド (「&」) などの文字を、適切な XML エンティティーを使用してエスケープするようにしてください (この場合は「&」)。 - 必要な場合は、jaxws.lib プロパティーの値を変更して、作業ディレクトリーを基準とした jaxws-ri/lib ディレクトリーのディレクトリー位置を識別するようにします。JAX-WS JAR ファイルの内容をダウンロードして解凍することに関する上記の説明に従った場合、デフォルト値を変更する必要はありません。JAX-WS 用の Java ファイルがシステム上の別の場所に既にインストールされている場合、このプロパティーの値を適切に変更する必要があります。
- ご使用の Watson Explorer Engine サーバー上の汎用 WSDL の URI が含まれるように、wsdl.uri プロパティーの値を変更します。(これは、「Generic WSDL」ラベルの横の「Generate WSDL」をクリックすると表示される URI です。)
- ant コマンドを実行して、velocity.jar ファイルを作成します。
ant を使用して velocity.jar ファイルを作成したときの出力例は、以下のとおりです。
$ ant
Buildfile: build.xml
compile:
[wsimport] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
[wsimport] parsing WSDL...
[wsimport]
[wsimport]
[wsimport] [WARNING] src-resolve: Cannot resolve the name 'sectypes:authentication' to a(n) 'element declaration' component.
[wsimport] line 20510 of http://joe-user.vivisimo.com/vivisimo/cgi-bin/velocity?v.app=api-soap&wsdl=1&use-types=true#types?schema3
[wsimport]
[wsimport] [WARNING] src-resolve: Cannot resolve the name 'agns1:content' to a(n) 'element declaration' component.
[wsimport] line 20582 of http://joe-user.vivisimo.com/vivisimo/cgi-bin/velocity?v.app=api-soap&wsdl=1&use-types=true#types?schema3
[wsimport]
[wsimport] generating code...
[wsimport]
[wsimport]
[wsimport] compiling code...
[wsimport]
${target.jar}:
[jar] Building jar: /home/joe-user/API/test/velocity.jar
javadoc:
[javadoc] Generating Javadoc
[javadoc] Javadoc execution
[javadoc] Loading source files for package velocity...
[javadoc] Loading source files for package velocity.objects...
[javadoc] Loading source files for package velocity.soap...
[javadoc] Loading source files for package velocity.types...
[javadoc] Constructing Javadoc information...
[javadoc] Standard Doclet version 1.6.0_10
[javadoc] Building tree for all the packages and classes...
[javadoc] Building index for all the packages and classes...
[javadoc] Building index for all classes...
all:
BUILD SUCCESSFUL
Total time: 32 seconds
注: 上記の出力例が示すように、JVM および使用中の JVM のバージョンによっては、1 つまたは 2 つの名前を相当するエレメント宣言コンポーネントに解決できないという警告が表示されることがあります。これらの警告は無視しても問題ありません。
ヒント: ビルド・プロセスの一部として、velocity.jar のクラス、オブジェクト、および型に対して Javadoc ヘルプが自動的に生成されます。この HTML フォーマットのヘルプは、Watson Explorer Engine SOAP インターフェースを使用して、Java で Watson Explorer Engine API アプリケーションを作成する際に非常に便利です。
Watson Explorer Engine API によって提供されるクラスおよびメソッドを使用して、Watson Explorer Engine アプリケーションの開発を開始するには、以下を実行します。
- ご使用のアプリケーションで、次の例に示すように VelocityPort オブジェクトを作成します。
すべての Watson Explorer Engine 関数をこのオブジェクトのメソッドとして使用できます。
import velocity.VelocityService; import velocity.VelocityPort; import velocity.types.*; import velocity.objects.*; VelocityService service = new VelocityService(); VelocityPort port = service.getVelocityPort(); QuerySearch search = new QuerySearch(); port.querySearch(search); - 次に、このセクションの前の方で作成した JAR ファイルを参照して、コードをコンパイルおよび実行できます。クラスパスに既に存在しているディレクトリーに JAR ファイルを入れるか、または次の例のように java および javac アプリケーションに -cp オプションを使用して、その場所を識別することができます。
$ javac -cp velocity.jar Example java $ java -cp velocity.jar:. Enqueue