10.3 クライアント定義ファイルの設定
クライアント定義ファイルは,「c4webcl.properties」というファイル名称で利用者が作成します。作成したクライアント定義ファイルは,クラスパス上に配置してください。
配置例を次に示します。
- コマンドラインを利用する場合
-
コマンドラインからSOAPアプリケーションを利用する場合,Javaコマンド実行時に指定するクラスパス上に,クライアント定義ファイルを配置してください。例えば,次のようにクライアントを実行する場合は,C:\temp\に配置します。
cjclstartap -classpath C:\temp\ <クライアントのJavaクラス名>
cjclstartapコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」を参照してください。
クラスパスはJ2EEサーバ用オプション定義ファイルで指定することもできます。J2EEサーバ用オプション定義ファイルについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。
- サーブレットを利用する場合
-
サーブレットからSOAPアプリケーションを利用する場合,WARファイルのWEB-INF/classesに,クライアント定義ファイルを配置してください。WARファイルの構成例を次に示します。
- SOAPアプリケーションを利用するサーブレットクラスRPCSampleClientを含むRPCSampleClient.warの例
RPCSampleClient.war/ getUserData.html META-INF/ MANIFEST.MF WEB-INF/ web.xml classes/ c4webcl.properties localhost/ RPCSampleClient.class :
WARファイルの作成方法については,マニュアル「アプリケーションサーバ アプリケーション開発ガイド」を参照してください。
サーブレットからSOAPアプリケーションを利用する場合,J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したパスに配置することもできます。J2EEサーバ用オプション定義ファイルについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。ただし,この場合,そのJ2EEサーバにデプロイされた,SOAPアプリケーションを利用するすべてのアプリケーションが同じ設定で動作するので注意してください。なお,「EJBを利用する場合」の次の注意事項も参照してください。
- EJBを利用する場合
-
EJBからSOAPアプリケーションを利用する場合,EJB-JARファイルのルートディレクトリに,クライアント定義ファイルを配置してください。EJB-JARファイルの構成例を次に示します。
- SOAPアプリケーションを利用するEJB"RPCSampleClient"を含むRPCSampleClient-ejb.jarの例
RPCSampleClient-ejb.jar/ c4webcl.properties META-INF/ ejb-jar.xml MANIFEST.MF localhost/ RPCSampleClient.class RPCSampleClientBean.class RPCSampleClientHome.class :
EJB-JARファイルの作成方法については,マニュアル「アプリケーションサーバ アプリケーション開発ガイド」を参照してください。
EJBからSOAPアプリケーションを利用する場合,J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したパスに配置することもできます。J2EEサーバ用オプション定義ファイルについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。ただし,この場合,そのJ2EEサーバにデプロイされた,SOAPアプリケーションを利用するすべてのアプリケーションが同じ設定で動作するので注意してください。なお,次の注意事項も参照してください。
- 注意事項
-
-
J2EEサーバ上でクライアントを実行する場合,Managementクラスのメソッドを必ず使用してください。
-
SOAPサービスを利用するクライアントを同じマシン上で複数動作させる場合,クライアント定義ファイルのトレースファイル,アプリケーションログのプレフィクス(log_file_prefix)は,クライアントごとに異なる値を設定してください。同じ値を設定すると,実行時オプションの指定による制御が正しく行われません。その他の設定(重要度,面数,ファイルサイズ)については,すべてのクライアントが同じ設定で動作します。
-
次の表に設定するキー名称と値の一覧について示します。
設定項目 |
キー名称 |
値 |
デフォルト値 (値省略時の仮定値) |
---|---|---|---|
c4web.logger.log_file_prefix |
任意の文字列を設定します。 「<log_file_prefix>-j2ee-<J2EEサーバのサーバ名>※1-<log_file_num>.log」がトレースファイルの名称となります。「<log_file_prefix>-j2ee-<J2EEサーバのサーバ名>※1-aplog-<log_file_num>.log」がアプリケーションログの名称となります。 |
c4webcl |
|
c4web.common.do_multirefs |
多重参照を有効にするかどうかを設定します。trueまたはfalseを設定します。※2 |
false |
|
c4web.common.send_xsi_types |
データ型情報を送信するかどうかを設定します。trueまたはfalseを設定します。※2 |
true |
|
c4web.common.ignore_undeclared_elements |
XMLスキーマ(DOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素を除く)で要素宣言していないXMLインスタンスを含むSOAPメッセージを受信した場合,このXMLインスタンスを無視するかどうかを設定します。trueまたはfalseを設定します。※2 |
false |
|
c4web.common.ignore_undeclared_parts |
WSDL(RPCスタイルのwsdl:part要素,およびDOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素)で宣言していないパラメタを含むSOAPメッセージを受信した場合,このパラメタを無視するかどうかを設定します。trueまたはfalseを設定します。※2 |
false |
|
c4web.common.enable_soapheader_check |
SOAPヘッダの子エレメントの名前修飾をチェックするかどうかを指定します。trueまたはfalseを設定します。※2 |
true |
|
c4web.common.prf_trace_level |
ALL,NONHANDLERのどちらかを指定します。
性能解析トレースについては,「14.7 性能解析トレース」を参照してください。 |
ALL |
|
c4web.common.character_reference |
送信メッセージ中の文字を文字参照形式にエンコードするかどうかを指定します。trueまたはfalseを設定します。※2 |
false |
|
c4web.common.send_max_soap_envelope_size |
送信できるSOAPEnvelopeの最大バイト数を設定します。設定値は0〜2,147,483,647の数値を設定します。0を指定した場合は無制限となります。 |
0 |
|
c4web.common.receive_max_soap_envelope_size |
受信できるSOAPEnvelopeの最大バイト数を設定します。設定値は0〜2,147,483,647の数値を設定します。0を設定した場合は無制限となります。 |
0 |
|
c4web.application.app_maintainsession |
HTTPセッションを維持するかどうかを設定します。trueまたはfalseを設定します。※2 |
false |
|
c4web.application.proxy_host |
プロキシサーバのホスト名またはIPアドレスを設定します。ホスト名またはIPアドレスを示す文字列を設定します。 |
− |
|
c4web.application.non_proxy_hosts |
プロキシサーバを使用しないホスト名またはIPアドレス群を設定します。ホスト名またはIPアドレスを示す文字列を設定します。複数のホスト名またはIPアドレスを指定する場合「|」で区切って設定します。※3 |
− |
|
c4web.application.proxy_port |
ポート番号を示す文字列を設定します。 |
− |
|
c4web.application.proxy_user |
プロキシサーバの認証ユーザIDを設定します。任意の文字列を設定します。※3 |
− |
|
c4web.application.proxy_password |
認証ユーザIDに対応するパスワードを設定します。任意の文字列を設定します。※3 |
− |
|
c4web.application.socket_write_timeout |
クライアントのソケットの書き込みタイムアウト値を秒単位で設定します。0〜86,400の数値を設定します。0を指定した場合はタイムアウト監視をしません。 |
60 |
|
c4web.application.socket_read_timeout |
クライアントのソケットの読み込みタイムアウト値を秒単位で設定します。0〜86,400の数値を設定します。0を指定した場合はタイムアウト監視をしません。 |
300 |
|
c4web.application.socket_connect_timeout |
クライアントのソケットの接続タイムアウト値を秒単位で設定します。0〜86,400の数値を設定します。0を指定した場合はタイムアウト監視をしません。 |
60 |
|
c4web.application.dii_temp_directory |
DIIでユーザ定義のデータ型クラスを使用する場合に,WSDL定義から動的に出力されるJavaソースファイルおよびクラスファイルの出力先ディレクトリを,ローカルディレクトリ上の絶対パスで設定します。設定値は1〜128文字の範囲で設定します。なお,ディレクトリ名に指定できる文字は,使用しているOSに依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。
|
<Application Serverのインストールディレクトリ>/c4web/dii/temp |
|
c4web.application.dii_wsdl_parse_timeout |
DIIを使用する場合に,WSDL解析およびJavaソース生成のタイムアウト値を秒単位で設定します。0〜3,600の範囲で数値を設定します。0を指定した場合はタイムアウト監視をしません。 |
45 |
|
c4web.application.hostname_verification.enable |
ホスト名の検証を有効にするかどうかを設定します。trueまたはfalseを設定します。※2 |
true |
|
c4web.attachment.send_max_attachment_count |
送信できる添付データの最大個数を設定します。設定値は0〜2,147,483,647の数値を設定します。0を設定した場合は無制限となります。 |
100 |
|
c4web.attachment.receive_max_attachment_count |
受信できる添付データの最大個数を設定します。設定値は0〜2,147,483,647の数値を設定します。0を設定した場合は無制限となります。 |
0 |
|
c4web.attachment.send_max_attachment_size |
送信できる各添付データの最大バイト数を設定します。設定値は0〜2,147,483,647の数値を設定します。0を設定した場合は無制限となります。 |
104,857,600 |
|
c4web.attachment.receive_max_attachment_size |
受信できる各添付データの最大バイト数を設定します。設定値は0〜2,147,483,647の数値を設定します。0を設定した場合は無制限となります。 |
0 |
|
c4web.attachment.attachment_temp_directory |
添付ファイル付きSOAPメッセージを受信したときに生成される退避ファイルの出力先ディレクトリを,ローカルディレクトリ上の絶対パスで設定します。設定値は1〜128文字の範囲で指定してください。なお,ディレクトリ名に指定できる文字は,OSに依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。
|
|
- クライアント定義ファイルの例
# TO BE REPLACED: "<cosminexus.home>", # "<proxy-host>","<nonproxy-host1>"," <nonproxy-host2>", # "<proxy-port>","<proxy-user>","<proxy-password>" #c4web.logger.log_file_prefix=c4webcl #c4web.common.do_multirefs=false #c4web.common.send_xsi_types=true #c4web.common.ignore_undeclared_elements=false #c4web.common.ignore_undeclared_parts=false #c4web.common.enable_soapheader_check=true #c4web.common.prf_trace_level=ALL #c4web.common.character_reference=false #c4web.common.send_max_soap_envelope_size=0 #c4web.common.receive_max_soap_envelope_size=0 #c4web.application.app_maintainsession=false #c4web.application.proxy_host=<proxy-host> #c4web.application.non_proxy_hosts=<nonproxy-host1>|<nonproxy-host2> #c4web.application.proxy_port=<proxy-port> #c4web.application.proxy_user=<proxy-user> #c4web.application.proxy_password=<proxy-password> #c4web.application.socket_write_timeout=60 #c4web.application.socket_read_timeout=300 #c4web.application.socket_connect_timeout=60 #c4web.application.dii_temp_directory=<cosminexus.home>/c4web/dii/temp #c4web.application.dii_wsdl_parse_timeout=45 #c4web.application.hostname_verification.enable=true #c4web.attachment.attachment_temp_directory=<cosminexus.home>/c4web/attachments #c4web.attachment.send_max_attachment_count=100 #c4web.attachment.receive_max_attachment_count=0 #c4web.attachment.send_max_attachment_size=104857600 #c4web.attachment.receive_max_attachment_size=0
定義ファイル中の<>で囲まれた部分については,利用者の環境に合わせた値に修正する必要があります。なお,<cosminexus.home>は,Windowsの場合,Application Serverのインストールフォルダを表しています。Windows以外の場合,/opt/Cosminexusを表しています。