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

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

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)は,クライアントごとに異なる値を設定してください。同じ値を設定すると,実行時オプションの指定による制御が正しく行われません。その他の設定(重要度,面数,ファイルサイズ)については,すべてのクライアントが同じ設定で動作します。

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

表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を設定します。※2 false
データ型定義(実行時オプション) c4web.common.send_xsi_types データ型情報を送信するかどうかを設定します。trueまたはfalseを設定します。※2 true
未宣言要素の無視※4 c4web.common.ignore_undeclared_elements XMLスキーマ(DOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素を除く)で要素宣言していないXMLインスタンスを含むSOAPメッセージを受信した場合,このXMLインスタンスを無視するかどうかを設定します。trueまたはfalseを設定します。※2 false
未宣言パラメタの無視※5 c4web.common.ignore_undeclared_parts WSDL(RPCスタイルのwsdl:part要素,およびDOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素)で宣言していないパラメタを含むSOAPメッセージを受信した場合,このパラメタを無視するかどうかを設定します。trueまたはfalseを設定します。※2 false
SOAPヘッダの名前修飾チェックオプション(実行時オプション) c4web.common.enable_soapheader_check SOAPヘッダの子エレメントの名前修飾をチェックするかどうかを指定します。trueまたはfalseを設定します。※2 true
性能解析トレース出力オプション c4web.common.prf_trace_level ALL,NONHANDLERのどちらかを指定します。

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

NONHANDLER:
次のトレース取得ポイントでトレースファイルが出力されません。
  • 送信側ハンドラの呼び出し
  • ハンドラの呼び出し
  • 受信側ハンドラの呼び出し
  • 送信側ハンドラからの戻り
  • ハンドラからの戻り
  • 受信側ハンドラからの戻り
性能解析トレースについては,「14.7 性能解析トレース」を参照してください。
ALL
文字参照形式オプション c4web.common.character_reference 送信メッセージ中の文字を文字参照形式にエンコードするかどうかを指定します。trueまたはfalseを設定します。※2 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 HTTPセッションを維持するかどうかを設定します。trueまたはfalseを設定します。※2 false
プロキシサーバのホスト名または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_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を設定します。※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に依存します。また,ディレクトリ名のパスの区切りには,次の文字を使用してください。

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

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

  • Windowsの場合
    <Application Serverのインストールフォルダ>/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または空文字の場合,設定した値は無視されます。

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

注※5
falseの場合,WSDL(RPCスタイルのwsdl:part要素,およびDOCUMENTスタイルのwrapped形式で引数および戻り値をラップした要素)で宣言していないパラメタを含むSOAPメッセージを受信した場合,KDCCP0006-EメッセージのC4Faultが発生することがあります。
trueの場合,上記の受信チェックを行いません。該当するパラメタを無視します。

クライアント定義ファイルの例
#  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を表しています。