Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere Web サービス » Web サービス・クライアント関数とプロシージャの作成

 

HTTP ヘッダの修正

CREATE PROCEDURE 文を使用して Web サービスのプロシージャを作成する場合、HTTP HEADER 名をコロン (:) と値のどちらも含めずに指定すると、HTTP クライアント・アプリケーションではヘッダを表示しなくなります。コロンは含めても値を指定しないと、ヘッダ名は含まれますが、値は含まれません。次に例を示します。

CREATE PROCEDURE suds(...)
TYPE 'SOAP:RPC'
URL '...'
HEADER 'SOAPAction\nDate\nFrom:';

この例では、Action と Data HTTP ヘッダ (SQL Anywhere で自動生成されるヘッダ) は表示されず、From ヘッダは含まれますが値はありません。

自動生成されるヘッダを修正すると、予期しない結果になる可能性があります。次の HTTP ヘッダは、通常は自動的に生成されるため、不注意で修正しないようにしてください。

HTTP ヘッダ 説明
Accept-Charset 常に自動的に生成されます。変更や削除によって、予期しないデータ変換エラーが発生する可能性があります。
ASA-Id 常に自動的に生成されます。デッドロックの原因になる可能性があるため、クライアントが自分自身 (同じサーバ) に接続しないようにします。
Authorization URL にクレデンシャルが含まれるときに自動生成されます。変更や削除によって、要求がエラーになる可能性があります。BASIC 認証だけがサポートされています。ユーザとパスワードの情報は、HTTPS を使用した接続時だけ含めるようにしてください。
Connection Connection: close は常に自動的に生成されます。クライアントは、永続的接続をサポートしません。接続がハングする可能性があるため、変更しないでください。
Host 常に自動的に生成されます。HTTP/1.1 クライアントが Host ヘッダを提供しない場合、400 Bad Request で応答するには HTTP/1.1 サーバが必要です。
Transfer-Encoding チャンク・モードで要求を通知するときに自動生成されます。このヘッダやチャンク値を削除すると、クライアントが CHUNK モードを使用しているときにエラーになります。
Content-Length チャンク・モード以外で要求を通知するときに自動生成されます。このヘッダは、本文のコンテンツ長をサーバに通知するために必要です。コンテンツ長が不正な場合、接続がハングするか、データが失われる可能性があります。