PR

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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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