configuration/dispatch_providerサンプルを試す

2006年10月11日(水)
江川 潔

wsdl2javaとjavacコマンドを使ったビルドと起動(configuration)

   samples/hello_worldディレクトリからターゲット・ディレクトリのbuild/classesを作成し、WSDLファイルからコードを生成します。

   UNIXの場合は以下のコマンドを実行します。


mkdir -p build/classes
wsdl2java -d build/classes -compile ./wsdl/hello_world.wsdl

   Windowsの場合は以下のコマンドを実行します。



mkdir build\classes
wsdl2java -d build\classes -compile .\wsdl\hello_world.wsdl

   次のコマンドでクライアントとサーバアプリケーションをコンパイルします。

   UNIXの場合は以下のコマンドを実行します。



export CLASSPATH=$CLASSPATH:$CELTIX_HOME/lib/celtix.jar:./build/classes
javac -d build/classes src/demo/hw/client⁄*.java
javac -d build/classes src/demo/hw/server⁄*.java

   Windowsの場合は以下のコマンドを実行します。1行目がすでに設定されている場合は2行目から実行してください。



set classpath=%classpath%;%CELTIX_HOME%\lib\celtix.jar;.\build\classes
javac -d build\classes src\demo\hw\client\*.java
javac -d build\classes src\demo\hw\server\*.java

Javaコマンドを使ってデモを起動

   samples/hello_worldディレクトリから次のコマンドを起動します。

   UNIXの場合は以下のコマンドを実行します。



java -Djava.util.logging.config.file=$CELTIX_HOME/etc/logging.properties
demo.hw.server.Server &
java -Djava.util.logging.config.file=$CELTIX_HOME/etc/logging.properties
-Dceltix.config.file=file:///$CELTIX_HOME/samples/configuration/client.xml
demo.hw.client.Client ./wsdl/hello_world.wsdl

   サーバがバックグラウンドで起動します。クライアントを起動した後で、サーバプロセスをkillコマンドで終了してください。

   Windowsの場合は以下のコマンドを実行します。



start
java -Djava.util.logging.config.file=%CELTIX_HOME%\etc\logging.properties
demo.hw.server.Server
java -Djava.util.logging.config.file=%CELTIX_HOME%\etc\logging.properties
-Dceltix.config.file=file:///%CELTIX_HOME%\samples\configuration\client.xml
demo.hw.client.Client .\wsdl\hello_world.wsdl

   新しいコマンドウィンドウがサーバプロセスのために起動します。クライアントを起動した後に、コマンドウィンドウで「Ctrl-c」キーを押してサーバプロセスを終了してください。

   WSDLファイルやclassファイルから生成したコードを削除して、buildディレクトリを削除するには次のコマンドを起動してください。



ant clean

コンフィグレーションファイルについて

   コンフィグレーションファイルsamples/configuration/client.xmlでは2つのを定義しま す。最初のは、クライアントが利用するURLを設定するために必要な情報を指定します。2つ目のは、基 本的な認証情報とプロキシサーバの位置情報を指定します。

   このファイルの指定をする際には、CeltixインストレーションのresourcesディレクトリにあるスキーマやXMLメタ情報を参照します。 チュートリアルの「Using Celtix Configuration」では、これらのファイルを使ってコンフィグレーションファイルをどのように構成するかを解説しています。

   URLを設定する際にはHTTPポートをコンフィグレーションします。XMLメタ情報ファイルはresources/config- metadata/port-config.xmlを参照し、の値がaddressとなっていることを確認してくだ さい。さらにconfigItemのエレメントの値を、client.xmlのエレメントの name属性に設定します。

   またからの間に、URLの文字列を指定します。このURLを示すタグは、スキーマ・ファイ ルのresources/schemas/configuration/std-types.xsdにエレメント型として定義されています。

   認証情報を設定することでクライアント側のサービスを構成できます。XMLメタ情報ファイルresources/config-metadata /http-client-config.xmlを参照し、の値がauthorizationとなっていることを確 認してください。さらにconfigItemのエレメントの値を、エレメントのname属性に 設定します。詳しくはスキーマファイルのresources/config-metadata/http-client-config.xmlをご覧くだ さい。

   Authorizationエントリは、スキーマファイルのresources/schemas/configuration /security.xsdで定義されたAuthorizationPolicy型となっていることに注意してください。なお AuthorizationPolicy型はcomplex型なので、element型が必要となります。

   このためにauthorizationエレメントを使用し、AuthorizationPolicy型が合成されてエレメントのシーケンスとなって います。このシーケンスはUserName、Password、AuthorizationTypeとAuthorizationとなります。これらの情 報を組み立てるために、引き続き宣言を利用します。なお、名前空間プレフィックスのsec:を使う場合にはコンフィグレーション ファイルのはじめに名前空間の宣言をしてください。

   XMLメタ情報ファイルのresources/config-metadata/ http-client-config.xmlのトランスポート属性については、httpClientを HTTPClientPolicy型で指定します。

   スキーマファイルのresources/schemas/wsdl/http-conf.xsdで定義されているHTTPClientPolicy 型は、複数の属性を指定するcomplex型です。Clientエレメントは、Celtixコンフィグレーションファイルの HTTPClientPolicy型として参照されます。

   トランスポート属性を構成したbeanクラスは、authorizationを構成したbeanクラスと同じものです。http-conf.xsd スキーマファイルは、名前空間http://celtix.objectweb.org/transports/http/configurationで 定義されています。

   この名前空間のプレフィックスをCeltixコンフィグレーションファイルの先頭に定義する必要があります。

日本アイオナテクノロジーズ株式会社 テクニカルセールスマネージャ

株式会社富士通SSLでNTT仕様のオペレーティング・システムの開発に従事したのち、日本ディジタルイク イップメント株式会社でNTT向けシステムの開発、その後、ソフトウェアとハードウェアのプリセールス活動を展開した。DECの合併を経て、現職のミドル ウェア製品のマーケティング、アライアンス、プリセールスなどに従事。

blog「Essence is Real」
http://blogs.iona.com/essence/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています