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

SQL Anywhere 12.0.1 » 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/12.0.1.3600
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/12.0.1.3600
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 要求ヘッダー
 参照