Webサービスの利用 |
|||||||||
GLUEで、Webサービスを利用するための最低条件は、公開されているWebサービスのWSDLのURL (もしくはファイル) を知っておくことである。GLUEは、このWSDLから、プロバイダの公開しているサービスのインターフェースやバインドするプロトコルや接続先を知るからである。WSDLから情報を得た後は、動的にプロキシを作成しそのWebサービスを利用可能にする。そのWebサービスを利用可能にするために必要なことは下記のメソッドを実行するだけである。 Registry.bind(WSDLのURL, 公開されているサービスのインターフェースクラス);
|
|||||||||
クライアントクラスを作成して利用する |
|||||||||
クライアントクラスを作成してWebサービスを利用するためには以下の手順を行う。
|
|||||||||
1 | 公開されているWSDLからインターフェースクラスを生成する | ||||||||
GLUEには、WSDLからインターフェースクラスや接続するためのヘルパークラス、さらにはコンプレックスタイプなどのやり取りに使用するマップファイルなどを生成するために「wsdl2java」というユーティリティを用意している。このユーティリティを利用し、必要なクラスを生成する。 (wsdl2java の利用方法に関しては、ユーザーガイドを参照してほしい) wsdl2javaの基本的な利用方法は:
さて、実際にwsdl2javaから必要なクラスを生成しよう。公開されているwsdlのURLは「http://localhost:8020/glue/hello.wsdl」であるから、wsdl2javaの引数にこのURLを与えて実行しよう。下記のように2つのjavaのファイルが生成されたはずだ。
この2つのファイルは公開されているWebサービスを利用するためのインターフェースクラスと接続するためのヘルパークラスである。内容を確認しよう。
上記のようにwsdl2javaによって生成されたインターフェースクラスは公開しているHelloクラスの持つ「sayHello」メソッドを定義している。このインターフェースを利用してクライアントクラスはWebサービス上のメソッドを呼び出すわけである。 |
|||||||||
2 | クライアントクラスの作成 | ||||||||
クライアントクラスは、公開されたwsdlのURLからプロキシを生成し、wsdl2javaで生成したインターフェースクラスにを利用してリモートのメソッドを呼び出す。この機能は、Registry.bindというメソッドにより実現される。ここでは、クライアントクラス「TestHello」を作成し、Webサービスを利用する。 クライアント (TestHello.java) コードを下記に示す。
あとは、このTestHello.javaをコンパイルして実行するだけだ。 |
|||||||||
3 | クライアントの実行 | ||||||||
上記2で作成した、TestHello.javaをコンパイルして実行してみよう。
「HelloWorld!!」という結果がえられれば、クライアントはWebサービスへアクセスすることに成功したことになる。
|
|||||||||
補足: Logの取得 |
|||||||||
GLUEを利用して、Webサービスの発行と利用を実行してきた。しかし、サーバー/クライアントともにどのような、SOAPのメッセージや、HTTPのやり取りをしているかに関してはまったく見ることができていない。そこで、GLUEのロギングフレームワークを利用して、簡単にログを取得する方法を紹介する。 GLUEのサーバー/クライアントにおいて、メッセージのログを取得する方法は2通りある。 ひとつは、electric.util.log.Logクラスの「startLogging (カテゴリ)」を利用してログを採取する方法とjava実行時に動的にLogの指定をする方法である。 |
|||||||||
サーバー/クライアントクラス実行時にログの設定をする方法 |
|||||||||
GLUEでは、実行時に動的にログ取得の方法を設定/変更することが可能である。その設定は下記プロパティをに値 (カテゴリ) を設定することにより可能となる。
このプロパティは以下のように利用する (下記例では、SOAPのログを取得する設定)
簡単にログの取得が可能となるので、是非活用してほしい |
|||||||||
GLUEによる、Webサービスの発行と利用のまとめ | |||||||||
GLUEによるWebサービス構築の特徴は: ・GLUEのインストールは環境変数の設定だけである。 上記の特徴から現れているように、GLUEはWebサービスを簡単に構築/利用するためのミドルウェアなのである。 |
もどる | |
Copyright © XMLコンソーシアム 2002 All rights reserved. | |
copyright © 2000-2002 tocka, inc., tokyo, japan / all rights reserved |