「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