このコマンドは上級Webサービスユーザのためにデザインされています。使用するかどうかは任意です。
WEB SERVICE SET OPTIONコマンドを使用して、WEB SERVICE CALLコマンドを使用して次回呼び出されるSOAPリクエストで使用されるさまざまなオプションを設定できます。
設定するオプションの数だけこのコマンドを呼び出します。
option 引数には設定するオプションの番号、value 引数にはそのオプションの新しい値を渡します。これらの引数にはWeb Services (Client)テーマの以下の定義済み定数を使用できます:
定数 |
型 |
値 |
コメント |
Web Service display auth dialog |
倍長整数 |
4 |
value = 0 (ダイアログボックスを表示しない) または 1 (ダイアログボックスを表示する) このオプションはWEB SERVICE CALLコマンド実行時の認証ダイアログボックスの表示を管理します。デフォルトでダイアログボックスは表示されません。通常WEB SERVICE AUTHENTICATEコマンドを使用して認証を行わなければなりません。しかし認証ダイアログボックスを表示してユーザに認証情報を入力させたい場合、このオプションを使用します。value に1を渡すとダイアログを表示、0を渡すと表示しません。ダイアログボックスはWebサービスが認証を要求する場合のみ表示されます。 |
Web Service HTTP compression |
倍長整数 |
6 |
value = Web Service Compression このオプションは、SOAPリクエストによる4Dアプリケーション間のデータ交換を高速化する目的で、内部的な圧縮メカニズムを有効にするために使用します。WEB SERVICE SET OPTION(Web Service HTTP Compression; Web Service Compression) ステートメントをWebサービスの4Dクライアント上で実行すると、クライアントから送信される次のSOAPリクエストのデータは、4D SOAPサーバーに送信される前に、標準のHTTPメカニズム (リクエストの内容に応じて"gzip" または "deflate") を使用して圧縮されます。 サーバーはリクエストを解凍・解析し、自動で同じメカニズムを使用して応答します。WEB SERVICE SET OPTIONコマンドの呼出し直後のリクエストのみに影響します。すなわち圧縮を使用したいリクエスト毎にこのコマンドを呼び出す必要があります。デフォルトで4DはWebサービスHTTPリクエストを圧縮しません。 注:
- このメカニズムは11.3以前の4D SOAPサーバーへのリクエストでは利用できません。
- この機能を最適化するために、リクエストの圧縮を行う閾値や圧縮率を設定する追加のオプションがあります。これらのオプションを設定するにはSET DATABASE PARAMETERコマンドを使用します。
|
Web Service HTTP timeout |
倍長整数 |
1 |
value = 秒単位で指定するクライアント側のタイムアウト クライアント側のタイムアウトは、サーバが返答しない場合のWebサービスクライアント側の待ち時間です。この時間経過後、クライアントはセッションを閉じ、リクエストは失われます。 このタイムアウトはデフォルトで180秒です。特定の理由 (ネットワークの状態、Webサービスの仕様等) でこの値を変更できます。 |
Web Service reset auth settings |
倍長整数 |
5 |
value = 0 (情報を消去しない) または 1 (情報を消去する) このオプションを使用して、4Dにユーザの認証情報 (ユーザ名とパスワード、認証メソッド等) を記憶させ、それを再利用するかどうかを指定できます。デフォルトでこの情報はWEB SERVICE CALLコマンドを呼び出すたびに消去されます。value に0を渡すと情報は保持され、1を渡すと消去されます。0を渡した場合、情報はセッションの間保持されます。 |
Web Service SOAP header |
倍長整数 |
2 |
value = SOAPリクエストのヘッダとして挿入するXMLルート要素参照 このオプションを使用して、WEB SERVICE CALLコマンドで生成されるSOAPリクエストにヘッダを挿入できます。デフォルトでSOAPリクエストは特定のヘッダを持っていません。しかしWebサービスによっては、例えば識別情報を管理するために、ヘッダを要求することがあります。 |
Web Service SOAP version |
倍長整数 |
3 |
value = Web Service SOAP_1_1 または Web Service SOAP_1_2 このオプションで、リクエストで使用するSOAPプロトコルのバージョンを指定できます。Web Service SOAP_1_1 定数を value に渡すとバージョン1.1が、Web Service SOAP_1_2 を渡すとバージョン1.2が指定されます。 |
オプションを呼び出す順番は重要ではありません。同じ option が複数回設定された場合は、最後の呼び出しで設定された値が有効になります。
SOAPリクエストにカスタマイズしたヘッダーを挿入する:
C_TEXT(vRootRef;vElemRef)
vRootRef:=DOM Create XML Ref("RootElement")
vxPath:="/RootElement/Elem1/Elem2/Elem3"
vElemRef:=DOM Create XML element(vRootRef;vxPath)
WEB SERVICE SET OPTION(Web Service SOAP header;vElemRef)