10.3 クライアント定義ファイルの設定

クライアント定義ファイルは,「c4webcl.properties」というファイル名称で利用者が作成します。作成したクライアント定義ファイルは,クラスパス上に配置してください。

配置例を次に示します。

コマンドラインを利用する場合
コマンドラインからSOAPアプリケーションを利用する場合,Javaコマンド実行時に指定するクラスパス上に,クライアント定義ファイルを配置してください。例えば,次のようにクライアントを実行する場合は,C:¥temp¥に配置します。

cjclstartap -classpath C:¥temp¥ <クライアントのJavaクラス名>

cjclstartapコマンドについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」を参照してください。
クラスパスはJ2EEサーバ用オプション定義ファイルで指定することもできます。J2EEサーバ用オプション定義ファイルについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。
サーブレットを利用する場合
サーブレットから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ファイルの作成方法については,マニュアル「Cosminexus アプリケーションサーバ アプリケーション開発ガイド」を参照してください。
サーブレットからSOAPアプリケーションを利用する場合,J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したパスに配置することもできます。J2EEサーバ用オプション定義ファイルについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。ただし,この場合,その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ファイルの作成方法については,マニュアル「Cosminexus アプリケーションサーバ アプリケーション開発ガイド」を参照してください。
EJBからSOAPアプリケーションを利用する場合,J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したパスに配置することもできます。J2EEサーバ用オプション定義ファイルについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。ただし,この場合,そのJ2EEサーバにデプロイされた,SOAPアプリケーションを利用するすべてのアプリケーションが同じ設定で動作するので注意してください。なお,次の注意事項も参照してください。
注意事項
  • J2EEサーバ上でクライアントを実行する場合,Managementクラスのメソッドを必ず使用してください。
  • SOAPサービスを利用するクライアントを同じマシン上で複数動作させる場合,クライアント定義ファイルのトレースファイル,アプリケーションログのプレフィクス(log_file_prefix)は,クライアントごとに異なる値を設定してください。同じ値を設定すると,実行時オプションの指定による制御が正しく行われません。その他の設定(重要度,面数,ファイルサイズ)については,すべてのクライアントが同じ設定で動作します。

次の表に設定するキー名称と値の一覧について示します。

表10-2 クライアント定義ファイルの設定項目

設定項目キー名称デフォルト値
(値省略時の仮定値)
トレースファイル,アプリケーションログのプレフィクス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を設定します。※2false
データ型定義(実行時オプション)c4web.common.send_xsi_typesデータ型情報を送信するかどうかを設定します。trueまたはfalseを設定します。※2true
SOAPヘッダの名前修飾チェックオプション(実行時オプション)c4web.common.enable_soapheader_checkSOAPヘッダの子エレメントの名前修飾をチェックするかどうかを指定します。trueまたはfalseを設定します。※2true
性能解析トレース出力オプションc4web.common.prf_trace_levelALL,NONHANDLERのどちらかを指定します。
ALL:
次のトレース取得ポイントでトレースファイルが出力されます。
  • 送信側ハンドラの呼び出し
  • ハンドラの呼び出し
  • 受信側ハンドラの呼び出し
  • 送信側ハンドラからの戻り
  • ハンドラからの戻り
  • 受信側ハンドラからの戻り
NONHANDLER:
次のトレース取得ポイントでトレースファイルが出力されません。
  • 送信側ハンドラの呼び出し
  • ハンドラの呼び出し
  • 受信側ハンドラの呼び出し
  • 送信側ハンドラからの戻り
  • ハンドラからの戻り
  • 受信側ハンドラからの戻り
性能解析トレースについては,「14.7 性能解析トレース」を参照してください。
ALL
文字参照形式オプションc4web.common.character_reference送信メッセージ中の文字を文字参照形式にエンコードするかどうかを指定します。trueまたはfalseを設定します。※2false
送信できるSOAPEnvelopeの最大バイト数c4web.common.send_max_soap_envelope_size送信できるSOAPEnvelopeの最大バイト数を設定します。設定値は0~2,147,483,647の数値を設定します。0を指定した場合は無制限となります。0
受信できるSOAPEnvelopeの最大バイト数c4web.common.receive_max_soap_envelope_size受信できるSOAPEnvelopeの最大バイト数を設定します。設定値は0~2,147,483,647の数値を設定します。0を設定した場合は無制限となります。0
HTTPセッションの維持(実行時オプション)c4web.application.app_maintainsessionHTTPセッションを維持するかどうかを設定します。trueまたはfalseを設定します。※2false
プロキシサーバのホスト名またはIPアドレス(実行時オプション)c4web.application.proxy_hostプロキシサーバのホスト名またはIPアドレスを設定します。ホスト名またはIPアドレスを示す文字列を設定します。
プロキシサーバを使用しないホスト名またはIPアドレス群(実行時オプション)c4web.application.non_proxy_hostsプロキシサーバを使用しないホスト名またはIPアドレス群を設定します。ホスト名またはIPアドレスを示す文字列を設定します。複数のホスト名またはIPアドレスを指定する場合「|」で区切って設定します。※3
プロキシサーバのポート番号(実行時オプション)c4web.application.proxy_portポート番号を示す文字列を設定します。
プロキシサーバの認証ユーザID(実行時オプション)c4web.application.proxy_userプロキシサーバの認証ユーザIDを設定します。任意の文字列を設定します。※3
プロキシサーバの認証ユーザIDに対応するパスワード(実行時オプション)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
Javaソースファイルおよびクラスファイルの出力ディレクトリc4web.application.dii_temp_directoryDIIでユーザ定義のデータ型クラスを使用する場合に,WSDL定義から動的に出力されるJavaソースファイルおよびクラスファイルの出力先ディレクトリを,ローカルディレクトリ上の絶対パスで設定します。設定値は1~128文字の範囲で設定します。なお,ディレクトリ名に指定できる文字は,使用しているOSに依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。
Windowsの場合:
「/」または「¥¥」を使用してください。
Windows以外の場合:
「/」を使用してください。
<Cosminexusのインストールディレクトリ>/c4web/dii/temp
WSDL解析およびJavaソース生成のタイムアウト値c4web.application.dii_wsdl_parse_timeoutDIIを使用する場合に,WSDL解析およびJavaソース生成のタイムアウト値を秒単位で設定します。0~3,600の範囲で数値を設定します。0を指定した場合はタイムアウト監視をしません。45
送信できる添付データの最大個数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に依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。
Windowsの場合:
「/」または「¥¥」を使用してください。
Windows以外の場合:
「/」を使用してください。
  • Windowsの場合
    <Cosminexusのインストールフォルダ>/c4web/attachments
  • Windows以外の場合
    /opt/Cosminexus/c4web/attachments
(凡例)
-:デフォルト値がないことを示します。
注※1
単体Javaアプリケーションとして動作させる場合,"-j2ee-<J2EEサーバのサーバ名>"は付与されません。
注※2
true:設定項目を有効にします。
false:設定項目を無効にします。
また,trueおよびfalseは小文字で記述してください。
注※3
プロキシサーバのホスト名またはIPアドレス(c4web.application.proxy_host)とプロキシサーバのポート番号(c4web.application.proxy_port)のどちらかがnullまたは空文字の場合,設定した値は無視されます。

クライアント定義ファイルの例

#  TO BE REPLACED: "<cosminexus.home>","<proxy-host>","<nonproxy-host1>"," <nonproxy-host2>",
#                  "<proxy-port>","<proxy-user>","<proxy-password>"

#-----------------------------------------------------------
#  The following options are used to the standard mode.
#-----------------------------------------------------------
#c4web.logger.log_file_prefix=c4webcl
#c4web.common.do_multirefs=false
#c4web.common.send_xsi_types=true
#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.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の場合,Cosminexusのインストールフォルダを表しています。Windows以外の場合,/opt/Cosminexusを表しています。