configuration/dispatch_providerサンプルを試す
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つの
このファイルの指定をする際には、CeltixインストレーションのresourcesディレクトリにあるスキーマやXMLメタ情報を参照します。 チュートリアルの「Using Celtix Configuration」では、これらのファイルを使ってコンフィグレーションファイルをどのように構成するかを解説しています。
URLを設定する際にはHTTPポートをコンフィグレーションします。XMLメタ情報ファイルはresources/config- metadata/port-config.xmlを参照し、
また
認証情報を設定することでクライアント側のサービスを構成できます。XMLメタ情報ファイルresources/config-metadata /http-client-config.xmlを参照し、
Authorizationエントリは、スキーマファイルのresources/schemas/configuration /security.xsdで定義されたAuthorizationPolicy型となっていることに注意してください。なお AuthorizationPolicy型はcomplex型なので、element型が必要となります。
このためにauthorizationエレメントを使用し、AuthorizationPolicy型が合成されてエレメントのシーケンスとなって います。このシーケンスはUserName、Password、AuthorizationTypeとAuthorizationとなります。これらの情 報を組み立てるために、引き続き
XMLメタ情報ファイルのresources/config-metadata/ http-client-config.xmlのトランスポート属性については、
スキーマファイルの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コンフィグレーションファイルの先頭に定義する必要があります。