サンプルの実行
いよいよサンプルプログラムを実行してみましょう。これまで設定した内容を再度確認しておきます。
- Tomcatは起動していますか?
- MS-DOSコマンドプロンプトで環境設定はできていますか?
これらの確認ができたら<AXIS_HOME>ディレクトリに移動し、クライアントを実行します。次のコマンドを実行してください。Axisを導入して初めて動かす場合は、下記のようになるはずです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
もし、一度でもAxisで何かを動かしている場合は、次のようになるでしょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
いずれにしても、クライアント(Client)がWebサービスを呼び出したのですが、どうもうまく動いていないようです。Axisエンジンが「実行するサービスを見つけることができない」(targetService is null)といっています。
では、サービスを見つけられるようにしましょう。次のコマンドを実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
「Done processiong」が返ってきたら、もう一度クライアントを実行してみましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このように表示されましたか? これで、Webサービスを利用したクライアント/サーバ型アプリケーションが正常に稼働したことになります。このクライアントが呼び出しているWebサービスは、クライアントから受け取った文字列をそのまま戻すサービスです。そのため、引数に入力した文字列がそのまま表示されれば稼働したことになります。
次に、以下のコマンドを実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
そして、クライアントをもう一度実行してみましょう(コマンド(1))。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
今度は異なる結果になりました。また最初のときのようにサービスが使えない状態になっています。
最初うまく動かなかったプログラムが「コマンド(2)」を実行することで動くようになり、「コマンド(3)」を実行するとまた動かなくなりました。どうも「コマンド(2)」や「コマンド(3)」に何か秘密が隠されているようです。そして、クライアント/サーバ型プログラムはどのような手順で通信しているのでしょうか?
と、先に進みたいのはやまやまですが、今回はここまでにしましょう。
今回のまとめ
ここまで何気なく「Webサービス」という言葉を使ってきましたが、少し言葉の定義をしておきましょう。広い意味での「Webサービス」は、Webサービス関連技術を使ったWebサービスシステム全体を指す言葉として定義されることが多いようです。この中には「UDDI」や「WSFL」や「WS-Security」などの技術も含まれるでしょうし、その範囲はあいまいです。
この連載での「Webサービス」という言葉は、「サービス提供者(プロバイダ)が提供するSOAPベースのサービス」という意味で利用していきます。今回の場合、クライアントプログラム(コマンド(1))が呼び出しているAxisエンジン上の「サーバプログラム」を「Webサービス」と呼んでいます。そして、このWebサービスを呼び出しているクライアントプログラムを「Webサービス・クライアント」(または、単に「クライアント」)とします。ほかにも「リクエスター/プロバイダ」などの呼び方がありますが、この連載では、「Webサービス」「Webサービス・クライアント」(または単に「クライアント」)とします。
今回は、Webサービス実行環境の準備をし、サンプルプログラムを動かしてみました。サンプルプログラムが単に動いただけではSOAPやWSDLがどういうものだか分かりませんね。今後、この環境を用いてさまざまな実験を行いながらSOAPやWSDLを裸にしていきます。このように、この連載では実際にプログラムを動かすことで出てくる「?」を順を追って解析していきます。この解析作業はWebサービス技術を身に付ける「ステップ」です。進み方はゆっくりですが、「?」を「!」に変えるのを楽しみましょう。
次回はWebサービスがどのように動いているかを調べてみます。それでは、またお会いしましょう!
Copyright © ITmedia, Inc. All Rights Reserved.