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 クライアントアプリケーションの開発 » 結果セットからの変数へのアクセス

 

SOAP のデータ型

デフォルトでは、パラメーター入力の XML エンコードは String 型であり、SOAP サービスフォーマットの結果セット出力には、結果セット内のカラムのデータ型について具体的に記述する情報がまったく含まれていません。すべてのフォーマットで、パラメーターのデータ型は String です。DNET フォーマットの場合、応答のスキーマセクション内ですべてのカラムは String として型指定されています。CONCRETE フォーマットと XML フォーマットの場合は、応答にデータ型情報が含まれません。このデフォルトの動作は、DATATYPE 句を使用して操作できます。

SQL Anywhere では、DATATYPE 句を使用してデータ型指定を有効にします。データ型情報は、すべての SOAP サービスフォーマットでパラメーター入力と結果セット出力 (応答) の XML エンコードに含めることができます。これにより、パラメーターを String に明示的に変換するクライアントコードが不要になるため、SOAP ツールキットからのパラメーター受け渡しが簡単になります。たとえば整数は int として渡すことができます。XML コード化されたデータ型では SOAP ツールキットを使用してデータを解析し、適切な型にキャストします。

String データ型を排他的に使用する場合、アプリケーションでは結果セット内の各カラムのデータ型を暗黙的にわかっている必要があります。データ型指定が Web サーバーで要求される場合は、必要ありません。データ型情報が含まれるかどうかを制御するために、Web サービスの定義時に DATATYPE 句を使用できます。

結果セット応答にデータ型指定を含めるようにする Web サービス定義の例を次に示します。

CREATE SERVICE "SASoapTest/EmployeeList"
    TYPE 'SOAP'
    AUTHORIZATION OFF
    SECURE OFF
    USER DBA
    DATATYPE OUT
    AS SELECT * FROM Employees;

この例では、サービスにはパラメーターがないため、データ型情報は結果セット応答のみに対して要求されます。

型指定は、「SOAP」型として定義されているすべての SQL Anywhere Web サービスに適用できます。

 入力パラメーターのデータ型指定
 出力パラメーターのデータ型指定
 SQL Anywhere の型から XML スキーマの型へのマッピング
 XML スキーマの型から Java の型へのマッピング