Hitachi

Cosminexus V11 アプリケーションサーバ 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を表しています。