10.23 ラッパbeanの動的生成機能

ラッパbeanの動的生成機能とは,ラッパbean(リクエストbeanとレスポンスbean),およびフォルトbeanのJavaBeansクラスをJAX-WSエンジンが動的に生成する機能です。SEIを起点として開発したWebサービスで使用できます。Webサービスクライアントや,WSDLを起点とするWebサービスでは,ラッパbeanの動的生成機能はサポートしていません。

ここでは,ラッパbeanの動的生成機能のエラーチェックおよび性能について説明します。

<この節の構成>
(1) cjwsgenコマンドによるエラーチェックについて
(2) 性能について

(1) cjwsgenコマンドによるエラーチェックについて

SEIを起点としたWebサービスを開発する場合,javacコマンドでWebサービス実装クラスをコンパイルします。ただし,javacコマンドのコンパイルでは,次に示すマッピングのエラーチェックはされません。

このため,Webサービス実装クラスにJAX-WS機能でサポートしていない定義内容が含まれると,Webサービスの開始に失敗したり,Webサービスの開始に成功してもメタデータの取得やSOAP通信に失敗したりする場合があります。これらの失敗を回避するには,javacコマンドでコンパイルしたWebサービス実装クラスに対してcjwsgenコマンドを実行し,事前にエラーチェックをする必要があります。なお,Webサービスの開始に失敗すると,ログおよび標準エラー出力に,次のエラーメッセージが出力されます。

(2) 性能について

Webサービスの起動性能は,JAX-WSエンジンがJavaBeansクラスをオンメモリ中に動的生成するオーバーヘッドが掛かるため,JavaBeansクラスを静的に生成した場合に比べると劣化します。しかし,WARファイルから読み込む必要がないため,ファイル読み込みのオーバーヘッドは軽減します。

また,JAX-WSエンジンが動的に生成するJavaBeansクラスは,cjwsgenコマンドが静的に生成するJavaBeansクラスと同一のため,Webサービス開始後のSOAP通信では,JavaBeansクラスを動的または静的のどちらで生成しても,性能は変わりません。