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

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コンフィグレーションファイルの先頭に定義する必要があります。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30