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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ プログラミング » HTTP Web サービス » Web クライアントを使用した Web サービスへのアクセス » Web クライアントアプリケーションの開発 » Web クライアント関数とプロシージャの要件と推奨事項

 

HTTP 要求ヘッダの管理

CREATE PROCEDURE 文と CREATE FUNCTION 文の HEADER 句を使用して、HTTP 要求ヘッダを追加、変更、または削除できます。名前を参照することによって、HTTP 要求ヘッダを抑制できます。ヘッダ名の後にコロン、値の順に指定して、HTTP 要求ヘッダ値を追加または変更します。ヘッダ値の指定は省略可能です。

たとえば、HTTP 要求ヘッダを制限する指定した URL に要求を送信する SomeOperation2 という HTTP プロシージャを作成するには、Web クライアントデータベースで次の SQL 文を実行します。

CREATE PROCEDURE SomeOperation2()
    URL 'HTTP://localhost:8082/dbname/SampleWebService'
    TYPE 'HTTP:GET'
    HEADER 'SOAPAction\nDate\nFrom:\nCustomAlias:John Doe';

この例では、SQL Anywhere によって自動的に生成される Date ヘッダが抑制されます。From ヘッダは、含まれているものの、値が割り当てられていません。HTTP 要求には CustomAlias という新しいヘッダが含められ、値 John Doe が割り当てられます。GET 要求は次のようになります。

GET /dbname/SampleWebService HTTP/1.0
ASA-Id: e88a416e24154682bf81694feaf03052
User-Agent: SQLAnywhere/16.0.0.1403
Accept-Charset: windows-1252, UTF-8, *
From: 
Host: localhost:8082
Connection: close
CustomAlias: John Doe

長いヘッダ値の折り返しがサポートされています。折り返すには、\n の直後に 1 つ以上のスペースが必要です。

次の例は、長いヘッダ値のサポートを示します。

CREATE PROCEDURE SomeOperation3()
    URL 'HTTP://localhost:8082/dbname/SampleWebService'
    TYPE 'HTTP:POST'
    HEADER 'heading1: This long value\n is really long for a header.\n 
    heading2:shortvalue';

POST 要求は次のようになります。



POST /dbname/SampleWebService HTTP/1.0
ASA-Id: e88a416e24154682bf81694feaf03052
User-Agent: SQLAnywhere/16.0.0.1403
Accept-Charset: windows-1252, UTF-8, *
Date: Fri, 03 Feb 2012 15:26:04 GMT
heading1: This long value is really long for a header.     heading2:shortvalue
Host: localhost:8082
Connection: close
Content-Type: application/x-www-form-urlencoded; charset=windows-1252
Content-Length: 0
注意

SOAP 関数またはプロシージャの作成時に WSDL に指定された SOAP サービス URI に SOAPAction HTTP 要求ヘッダを設定してください。

 自動生成される HTTP 要求ヘッダ
 参照