Cosminexus V9 アプリケーションサーバ SOAPアプリケーション開発の手引

[目次][用語][索引][前へ][次へ]

10.2 サーバ定義ファイルの設定

サーバ定義ファイルは,「c4websv.cfg」というファイル名称で,インストール時に次の場所に格納されます。

Windowsの場合
<Application Serverのインストールフォルダ>\c4web\conf

Windows以外の場合
/opt/Cosminexus/c4web/conf

サーバ定義ファイルには,設定できるパラメタをサーバごとに複数ブロック設定できます。

サーバ定義ファイルに設定した内容を反映するには,SOAPアプリケーションを再起動する必要があります。設定した内容は,SOAPアプリケーション再起動後の初回リクエストを受信したときに反映されます。なお,サーバ定義ファイルは,SOAPアプリケーションを停止してから変更してください。SOAPアプリケーションの再起動および停止については,「7.1 SOAPアプリケーションの開始と停止」を参照してください。

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

表10-1 サーバ定義ファイルの設定項目

設定項目 キー名称 デフォルト値
(値省略時の仮定値)
トレースファイル,アプリケーションログのプレフィクス c4web.logger.<識別子>.log_file_prefix 任意の文字列を設定します。
「<log_file_prefix>-j2ee-<J2EEサーバのサーバ名>-<log_file_num>.log」がトレースファイルの名称となります。
「<log_file_prefix>-j2ee-<J2EEサーバのサーバ名>-aplog-<log_file_num>.log」がアプリケーションのログ名称となります。
識別子値
多重参照(実行時オプション) c4web.common.<識別子>.do_multirefs 多重参照を有効にするかどうかを設定します。trueまたはfalseを設定します。※1 false
データ型定義(実行時オプション) c4web.common.<識別子>.send_xsi_types データ型情報を送信するかどうかを設定します。trueまたはfalseを設定します。※1 true
未宣言要素の無視※3 c4web.common.<識別子>.ignore_undeclared_elements XMLスキーマ(DOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素を除く)で要素宣言していないXMLインスタンスを含むSOAPメッセージを受信した場合,このXMLインスタンスを無視するかどうかを設定します。trueまたはfalseを設定します。※1 false
未宣言パラメタの無視※4 c4web.common.<識別子>.ignore_undeclared_parts WSDL(RPCスタイルのwsdl:part要素,およびDOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素)で宣言していないパラメタを含むSOAPメッセージを受信した場合,このパラメタを無視するかどうかを設定します。trueまたはfalseを設定します。※1 false
SOAPヘッダの名前修飾チェックオプション(実行時オプション) c4web.common.<識別子>.enable_soapheader_check SOAPヘッダの子エレメントの名前修飾をチェックするかどうかを指定します。trueまたはfalseを設定します。※1 true
性能解析トレース出力オプション c4web.common.<識別子>.prf_trace_level ALL,NONHANDLERのどちらかを指定します。

ALL:
次のトレース取得ポイントでトレースファイルが出力されます。
  • 送信側ハンドラの呼び出し
  • ハンドラの呼び出し
  • 受信側ハンドラの呼び出し
  • 送信側ハンドラからの戻り
  • ハンドラからの戻り
  • 受信側ハンドラからの戻り

NONHANDLER:
次のトレース取得ポイントでトレースファイルが出力されません。
  • 送信側ハンドラの呼び出し
  • ハンドラの呼び出し
  • 受信側ハンドラの呼び出し
  • 送信側ハンドラからの戻り
  • ハンドラからの戻り
  • 受信側ハンドラからの戻り
性能解析トレースについては,「14.7 性能解析トレース」を参照してください。
ALL
文字参照形式オプション c4web.common.<識別子>.character_reference 送信メッセージ中の文字を文字参照形式にエンコードするかどうかを指定します。trueまたはfalseを設定します。※1 false
送信できる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_maintainsession ほかのSOAPサーバのサービスメソッドを呼び出す場合に,HTTPセッションを維持するかどうかを設定します。trueまたはfalseを設定します。※1 false
プロキシサーバのホスト名またはIPアドレス(実行時オプション) c4web.application.<識別子>.proxy_host ほかのSOAPサーバのサービスメソッドを呼び出す場合に,プロキシサーバのホスト名またはIPアドレスを設定します。ホスト名またはIPアドレスを示す文字列を設定します。
プロキシサーバを使用しないホスト名またはIPアドレス群(実行時オプション) c4web.application.<識別子>.non_proxy_hosts ほかのSOAPサーバのサービスメソッドを呼び出す場合に,プロキシサーバを使用しないホスト名またはIPアドレス群を設定します。ホスト名またはIPアドレスを示す文字列を設定します。複数のホスト名またはIPアドレスを指定する場合「|」で区切って設定します。※2
プロキシサーバのポート番号(実行時オプション) c4web.application.<識別子>.proxy_port ほかのSOAPサーバのサービスメソッドを呼び出す場合に,ポート番号を示す文字列を設定します。
プロキシサーバの認証ユーザID(実行時オプション) c4web.application.<識別子>.proxy_user ほかのSOAPサーバのサービスメソッドを呼び出す場合に,プロキシサーバの認証ユーザIDを設定します。任意の文字列を設定します。※2
プロキシサーバの認証ユーザIDに対応するパスワード(実行時オプション) c4web.application.<識別子>.proxy_password ほかのSOAPサーバのサービスメソッドを呼び出す場合に,認証ユーザIDに対応するパスワードを設定します。任意の文字列を設定します。※2
サーバ兼クライアントのソケットの書き込みタイムアウト値 c4web.application.<識別子>.socket_write_timeout ほかのSOAPサーバのサービスメソッドを呼び出す場合に,ソケットの書き込みタイムアウト値を秒単位で設定します。0〜86,400の数値を設定します。0を指定した場合はタイムアウト監視をしません。 60
サーバ兼クライアントのソケットの読み込みタイムアウト値 c4web.application.<識別子>.socket_read_timeout ほかのSOAPサーバのサービスメソッドを呼び出す場合に,ソケットの読み込みタイムアウト値を秒単位で設定します。0〜86,400の数値を設定します。0を指定した場合はタイムアウト監視をしません。 300
サーバ兼クライアントのソケットの接続タイムアウト値 c4web.application.<識別子>.socket_connect_timeout ほかのSOAPサーバのサービスメソッドを呼び出す場合に,ソケットの接続タイムアウト値を秒単位で設定します。0〜86,400の範囲で数値を設定します。0を指定した場合はタイムアウト監視をしません。 60
Javaソースファイルおよびクラスファイルの出力ディレクトリ c4web.application.<識別子>.dii_temp_directory DIIでユーザ定義のデータ型クラスを使用する場合に,WSDL定義から動的に出力されるJavaソースファイルおよびクラスファイルの出力先ディレクトリを,ローカルディレクトリ上の絶対パスで設定します。設定値は1〜128文字の範囲で設定します。なお,ディレクトリ名に指定できる文字は,使用しているOSに依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。

Windowsの場合:
「/」または「\\」を使用してください。

Windows以外の場合:
「/」を使用してください。
<Application Serverのインストールディレクトリ>/c4web/dii/temp
WSDL解析およびJavaソース生成のタイムアウト値 c4web.application.<識別子>.dii_wsdl_parse_timeout DIIを使用する場合に,WSDL解析およびJavaソース生成のタイムアウト値を秒単位で設定します。0〜3,600の範囲で数値を設定します。0を指定した場合はタイムアウト監視をしません。 45
ホスト名の検証 c4web.application.<識別子>.hostname_verification.enable ホスト名の検証を有効にするかどうかを設定します。trueまたはfalseを設定します。※1 true
SOAPAction値の扱い(実行時オプション) c4web.server.<識別子>.fault_omit_soapaction SOAPAction値がない場合の実行時オプションを設定します。trueまたはfalseを設定します。※1 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に依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。

Windowsの場合:
「/」または「\\」を使用してください。

Windows以外の場合:
「/」を使用してください。

  • Windowsの場合
    <Application Serverのインストールフォルダ>/c4web/attachments
  • Windows以外の場合
    /opt/Cosminexus/c4web/attachments

(凡例)
−:デフォルト値がないことを示します。

注※1
true:設定項目を有効にします。
false:設定項目を無効にします。
また,trueおよびfalseは小文字で記述してください。

注※2
プロキシサーバのホスト名またはIPアドレス(c4web.application.<識別子>.proxy_host)とプロキシサーバのポート番号(c4web.application.<識別子>.proxy_port)のどちらかがnullまたは空文字の場合,設定した値は無視されます。

注※3
falseの場合,XMLスキーマ(DOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素を除く)で要素宣言していないXMLインスタンスを含むSOAPメッセージを受信した場合,次のどちらかが発生します。
(a) SOAPサービスで受信した場合,KDCCP0006-EメッセージのSOAPフォルトを返信します。
(b) SOAPクライアントで受信した場合,KDCCP0006-EメッセージのC4Faultが発生します。
trueの場合,上記の受信チェックを行いません。該当するXMLインスタンスを無視します。

注※4
falseの場合,WSDL(RPCスタイルのwsdl:part要素,およびDOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素)で宣言していないパラメタを含むSOAPメッセージを受信した場合,次のどちらかが発生することがあります。
(a) SOAPサービスで受信した場合,次のどちらかが発生することがあります。
 ・不正な値の引数を受け取ります。
 ・KDCCP0006-EメッセージのSOAPフォルトを返信します。
(b) SOAPクライアントで受信した場合,KDCCP0006-EメッセージのC4Faultが発生することがあります。
trueの場合,上記の受信チェックを行いません。該当するパラメタを無視します。

識別子について
識別子は,サーバ定義ファイル中から動作中のサーバの情報を取得するためのキーとして使用します。識別子として,サーバにデプロイしたSOAPアプリケーションのコンテキストルートから先頭の「/」を抜いた名称を使用します。コンテキストルートとは,コンテキストのルートパスです。コンテキスト内のWebアプリケーションにアクセスするときにURL上に指定します。例えば,接続先URLが「http://localhost:8080/WebApp1/services/UserInfo」の場合,識別子は「WebApp1」となります。接続先URLが「http://localhost:8080/WebApp1/Service1/services/UserInfo」の場合,識別子は「WebApp1/Service1」となります。なお,サーバ定義ファイル中の識別子の大文字と小文字は区別されます。

注意事項
ルートコンテキストを使用する場合,サーバ定義ファイルに,次のように識別子を省略した形式で記述する必要があります。
通常指定時
c4web.logger.<識別子>.log_file_num=2
ルートコンテキスト指定機能使用時
c4web.logger.log_file_num=2
なお,トレースファイル,アプリケーションログのプレフィクス(log_file_prefix)を省略した場合,デフォルト値は"ROOT"になります。

サーバ定義ファイルの例
#  TO BE REPLACED: "<cosminexus.home>",
#                  "<proxy-host>","<nonproxy-host1>"," <nonproxy-host2>",
#                  "<proxy-port>","<proxy-user>","<proxy-password>"
 
#  define WebApp settings.
#c4web.logger.WebApp1.log_file_prefix=WebApp1
#c4web.common.WebApp1.do_multirefs=false
#c4web.common.WebApp1.send_xsi_types=true
#c4web.common.WebApp1.ignore_undeclared_elements=false
#c4web.common.WebApp1.ignore_undeclared_parts=false
#c4web.common.WebApp1.enable_soapheader_check=true
#c4web.common.WebApp1.prf_trace_level=ALL
#c4web.common.WebApp1.character_reference=false
#c4web.common.WebApp1.send_max_soap_envelope_size=0
#c4web.common.WebApp1.receive_max_soap_envelope_size=0
#c4web.application.WebApp1.app_maintainsession=false
#c4web.application.WebApp1.proxy_host=<proxy-host>
#c4web.application.WebApp1.non_proxy_hosts=<nonproxy-host1>|<nonproxy-host2>
#c4web.application.WebApp1.proxy_port=<proxy-port>
#c4web.application.WebApp1.proxy_user=<proxy-user>
#c4web.application.WebApp1.proxy_password=<proxy-password>
#c4web.application.WebApp1.socket_write_timeout=60
#c4web.application.WebApp1.socket_read_timeout=300
#c4web.application.WebApp1.socket_connect_timeout=60
#c4web.application.WebApp1.dii_temp_directory=<cosminexus.home>/c4web/dii/temp
#c4web.application.WebApp1.dii_wsdl_parse_timeout=45
#c4web.application.WebApp1.hostname_verification.enable=true
#c4web.server.WebApp1.fault_omit_soapaction=true
#c4web.attachment.WebApp1.attachment_temp_directory=<cosminexus.home>/c4web/attachments
#c4web.attachment.WebApp1.send_max_attachment_count=100
#c4web.attachment.WebApp1.receive_max_attachment_count=0
#c4web.attachment.WebApp1.send_max_attachment_size=104857600
#c4web.attachment.WebApp1.receive_max_attachment_size=0
 
#  define other WebApp settings.
#c4web.logger.WebApp2.log_file_prefix=WebApp2
#c4web.common.WebApp2.do_multirefs=false
#c4web.common.WebApp2.send_xsi_types=true
#c4web.common.WebApp2.ignore_undeclared_elements=false
#c4web.common.WebApp2.ignore_undeclared_parts=false
#c4web.common.WebApp2.enable_soapheader_check=true
#c4web.common.WebApp2.prf_trace_level=ALL
#c4web.common.WebApp2.character_reference=false
#c4web.common.WebApp2.send_max_soap_envelope_size=0
#c4web.common.WebApp2.receive_max_soap_envelope_size=0
#c4web.application.WebApp2.app_maintainsession=false
#c4web.application.WebApp2.proxy_host=<proxy-host>
#c4web.application.WebApp2.non_proxy_hosts=<nonproxy-host1>|<nonproxy-host2>
#c4web.application.WebApp2.proxy_port=<proxy-port>
#c4web.application.WebApp2.proxy_user=<proxy-user>
#c4web.application.WebApp2.proxy_password=<proxy-password>
#c4web.application.WebApp2.socket_write_timeout=60
#c4web.application.WebApp2.socket_read_timeout=300
#c4web.application.WebApp2.socket_connect_timeout=60
#c4web.application.WebApp2.dii_temp_directory=<cosminexus.home>/c4web/dii/temp
#c4web.application.WebApp2.dii_wsdl_parse_timeout=45
#c4web.application.WebApp2.hostname_verification.enable=true
#c4web.server.WebApp2.fault_omit_soapaction=true
#c4web.attachment.WebApp2.attachment_temp_directory=<cosminexus.home>/c4web/attachments
#c4web.attachment.WebApp2.send_max_attachment_count=100
#c4web.attachment.WebApp2.receive_max_attachment_count=0
#c4web.attachment.WebApp2.send_max_attachment_size=104857600
#c4web.attachment.WebApp2.receive_max_attachment_size=0
 
定義ファイル中の<>で囲まれた部分については,利用者の環境に合わせた値に修正する必要があります。なお,<cosminexus.home>は,Windowsの場合,Application Serverインストールフォルダを表しています。Windows以外の場合,/opt/Cosminexusを表しています。