「OpenSOAP Server の動作手順」 (0) OpenSOAP Server の実行には http サーバーが必要です。 現在は apache httpd で動作を確認しています。 (1) INSTALL.ujis に従い、ビルドとインストールを行う。 apache httpd と OpenSOAP Server をつなぐ soapInterface.cgi のインストールされるディレクトリに注意してください。 デフォルトでは /home/httpd/cgi-bin なので、必要に応じて --with-cgi-bin で CGI が実行可能なディレクトリを指定してください。 (2) 標準ではサービスは標準入出力による接続を利用しますが、SSMLの設定により ソケットによる接続も可能です。その場合は、RegistService.sjis.txt に従い、 サービスを inetd (xinetd) に登録する必要があります。 サービスプログラムを root 権限で実行するとエラーになることが、 以前報告されています。 さらに、SSMLの設定によりHTTPを利用したエンドポイントの指定によるサービス 接続もサポートしました。SSML_Readme.sjis.txtを参照してください。 (3) /usr/local/opensoap/etc/ 以下にある サーバーの設定ファイル server.conf を編集する。 * 各サーバプロセスのログファイルの出力先の設定 /usr/local/opensoap/var/log/ * サーバプロセスが内部管理するSOAPメッセージの保持場所の設定 /usr/local/opensoap/var/spool/ * サーバプロセスが内部管理する非同期メッセージ管理テーブルの保持場所の設定 /usr/local/opensoap/var/spool/ * 各サーバプロセスのプロセスID管理場所の設定 /usr/local/opensoap/var/run/ * 各サーバプロセスのソケット管理場所の設定 /usr/local/opensoap/var/run/ * サーバ内部署名認証用セキュリティキーの管理場所の設定 /usr/local/opensoap/etc/ * サービス管理用SSMLファイルの登録先の設定 /usr/local/opensoap/etc/ssml/ * 非同期転送時の返送メッセージが返信されるEndPointの設定 ここで指定したEndPointに対して転送先から返信メッセージが送られるため、 転送先から参照できる自サーバの情報である必要がある。 また、メッセージ転送のループをチェックするために、自身の別名やIPがあれば それらを2つ目以降のとして記述しておく。 以下の例の場合は、"http://myhost.opensoap.jp/cgi-bin/soapInterface.cgi" に対して返信される。 http://myhost.opensoap.jp/cgi-bin/soapInterface.cgi http://192.168.0.123/cgi-bin/soapInterface.cgi http://soap-server.opensoap.jp/cgi-bin/soapInterface.cgi * 自サーバ管理下に対象サービスが無い場合に、メッセージが転送される サーバのEndPointをに設定する。 以下の例の場合は、"http://yourhost.opensoap.jp/cgi-bin/soapInterface.cgi" に対して転送される。 http://yourhost.opensoap.jp/cgi-bin/soapInterface.cgi * 非同期メッセージのIDなど、サーバが制御するメッセージに対して サーバの署名を付加するか否かの設定 サーバの署名を付加したい場合は true を設定する。 false * サーバが受付けるSOAPメッセージの最大サイズを指定する。 単位はbyte. 500k, 1Mなどの指定も可能。 -1などのマイナスの値を指定した場合は制限無し。 0を指定した場合はメッセージを受付けない指定となる。 1M * 非同期処理における、未処理の内部キュー、スプールデータの破棄時間を 指定する。 0以下の値は無効。 (未指定の場合はシステム内部デフォルト値3600が使用される) 3600 ※この値は、各サービス毎のSSMLファイルにも指定することが可能であり、 SSMLファイルに指定がある場合は、そちらの値が優先される。 ※また、個別のSOAPメッセージ中の拡張ヘッダにも同様の値が指定できるが、 この場合は、対応するSSMLでの指定があれば、その値よりも小さい場合のみ 有効となる。SSMLでの指定が無ければ、server.conf中の値よりも小さい場合 に有効となる。 設定例) server.conf | 10 10 10 10 10 10 SSML | - 20 5 20 20 - SOAP-Header | - - - 30 15 15 -------------------------------------- 有効値 | 10 20 5 20 15 10 * 同期処理における、それぞれのSOAPメッセージ処理タイムアウト時間を指定する。 0以下の値は無効。 (未指定の場合はシステム内部デフォルト値600が使用される) 600 ※SSMLファイル中の指定および、SOAPメッセージ中の拡張ヘッダでの指定の 扱いは、上記 と同じ。 * SOAPメッセージの転送回数の制限を指定する。 0を指定した場合は、転送を行わない。 マイナスの値は無効。 (未指定の場合はシステム内部デフォルト値4が使用される) 4 ※SSMLファイル中の指定および、SOAPメッセージ中の拡張ヘッダでの指定の 扱いは、上記 と同じ。 * ログ出力に関する設定の一覧を以下に示す。 ログの種類。syslog=syslogへの出力。file=ファイルへの出力。 デフォルト値はsyslog 出力内容。generic=概略出力。detail=詳細出力。 デフォルト値はgeneric