Web ブラウザまたはクライアントアプリケーションから SQL Anywhere Web サービスに対して Web サービス要求を行うと、要求が処理され、結果セットが応答で返されます。SQL Anywhere では、結果セットのフォーマットとそれを返す方法を制御するいくつかの Web サービスタイプがサポートされています。適切な Web サービスタイプを選択してから、CREATE SERVICE 文または ALTER SERVICE 文の TYPE 句を使用して Web サービスタイプを指定します。
サポートされる Web サービスタイプは次のとおりです。
HTML 文、関数、またはプロシージャの結果セットは、テーブルが含まれる HTML ドキュメントにフォーマットされます。Web ブラウザに、HTML ドキュメントの本文が表示されます。
XML 文、関数、またはプロシージャの結果セットは、XML ドキュメントとして返されます。XML でフォーマットされていない結果セットは、自動的に XML にフォーマットされます。Web ブラウザに、タグと属性を含む未加工の XML コードが表示されます。
XML フォーマットは、次の SQL 文の例に示すように、SELECT 文で FOR XML RAW 句を指定することと同じです。
SELECT * FROM table-name FOR XML RAW |
RAW 文、関数、またはプロシージャの結果セットは、自動フォーマットなしで返されます。
このサービスタイプでは、結果セットを最大限に制御できます。ただし、ストアドプロシージャ内で必要なマークアップ (HTML、XML) を明示的に作成することによって応答を生成する必要があります。SA_SET_HTTP_HEADER システムプロシージャを使用して、MIME タイプを指定する HTTP Content-Type ヘッダを設定すると、Web ブラウザで結果セットを正しく表示できます。
RAW Web サービスタイプと併用して動作するストアドプロシージャの例については、Web ページをカスタマイズする方法を参照してください。
JSON
文、関数、またはプロシージャの結果セットは、JSON (JavaScript Object Notation) で返されます。JavaScript Object Notation (JSON) は、言語に依存しないテキストベースのデータ交換フォーマットで、JavaScript
データの直列化のために開発されました。JSON には、次の 4 つの基本型があります。文字列、数値、ブール、および NULL です。また、JSON には、次の 2 つの構造化型もあります。オブジェクトと配列です。JSON の詳細については、 http://www.json.org/を参照してください。
このサービスは、Web アプリケーションに対して HTTP 呼び出しを行うために AJAX で使用されます。JSON タイプの例については、%SQLANYSAMP16%\SQLAnywhere\HTTP\json_sample.sql を参照してください。
SOAP 文、関数、またはプロシージャの結果セットは、SOAP 応答として返されます。SOAP サービスには、SOAP をサポートする異なるクライアントアプリケーションに対してデータアクセスを提供する、共通データ交換標準が備えられています。SOAP 要求と応答のエンベロープは、HTTP (HTTP を介した SOAP) を使用して XML ペイロードとして転送されます。SOAP サービスへの要求は、汎用 HTTP 要求ではなく有効な SOAP 要求である必要があります。SOAP サービスの出力は、CREATE 文または ALTER SERVICE 文の FORMAT 属性と DATATYPE 属性を使用することで調節できます。
DISH DISH サービス (SOAP ハンドラを決定) は、SQL Anywhere の SOAP 終了ポイントです。DISH サービスからアクセスできるすべての SOAP 操作 (SQL Anywhere SOAP サービス) を記述する WSDL (Web Services Description Language) ドキュメントを公開します。SOAP クライアントツールキットは、WSDL に基づいたインタフェースを使用してクライアントアプリケーションを構築します。SOAP クライアントアプリケーションは、すべての SOAP 要求を SOAP 終了ポイント (SQL Anywhere DISH サービス) にリダイレクトします。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |