Share via


ASP.NET を使用して作成した XML Web サービスでサポートされるデータ型

このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.

すべてのプログラミング言語は、異なる種類のデータを格納するさまざまなデータ型を指定します。単純型 (プリミティブ型) は、多くのプログラミング言語で非常に似通っています。ただし、プログラミング言語間で直接対応しないように、若干異なっています。こうした違いは、任意のクライアント アプリケーションからアクセスできる Web サービスを作成する場合に問題になります。

できるだけ多くのアプリケーションからアクセスできるようにするため、Web サービスでは XML を使ってエンコードおよびシリアル化できるさまざまなプリミティブ データ型をサポートしています。

次の表に、Web サービスでサポートされるプリミティブ データ型と、C++ や共通言語ランタイムで対応するデータ型を示します。Web サービスでサポートされるデータ型とは、XML スキーマ定義 (XSD: XML Schema Definition) 言語の 2 番目の部分で説明されているデータ型です。

XML スキーマ定義言語 C++ 共通言語ランタイム

base64Binary

Byte[]

boolean

bool

Boolean

byte

char、__int8

SByte

double

double

Double

dateTime

DateTime

decimal

   

Decimal

float

float

Single

int

int、long、__int32

Int32

long

__int64

Int64

QName

   

XmlQualifiedName

short

short、__int16

Int16

string

BSTR

String

time

   

DateTime

unsignedByte

unsigned __int8

Byte   

unsignedInt

unsigned __int32

UInt32

unsignedLong

unsigned __int64

UInt64

unsignedShort

unsigned __int16

UInt16

プリミティブ型と列挙型の配列

上記の型の配列

共通言語ランタイム データ型から C# や Visual Basic .NET などの他言語のデータ型に変換する方法の詳細については、「.NET Framework クラス ライブラリの概要」を参照してください。

利用できるデータ型は、Web サービスで使用するプロトコルによって異なります。たとえば、HTTP-GET プロトコルと HTTP-POST プロトコルでは、名前と値のペアのみ使用できます。ただし、SOAP では XML の機能を活用して、クラスなどの複雑なデータ構造のエンコードやシリアル化を実行できます。

次の表に、HTTP-GET および HTTP-POST でサポートされる型を示します。

説明

プリミティブ型 (制限あり)

次のプリミティブ型は、名前と値のペアに変換され、文字列で表されます。BooleanCurrencyDateTimeDecimalDoubleInt16Int32Int64SingleStringUInt16Uint32UInt64

列挙型

クライアント側から見ると、列挙型は値ごとに静的定数文字列フィールドを持つクラスになります。

プリミティブ型と列挙型の配列

上記の型の配列。

SOAP プロトコルを使用する場合に Web サービスでサポートされるデータ型は、XML にシリアル化できるデータ型に直接関連付けられます。ASP.NET では、XmlSerializer クラスを使い XML をシリアル化および逆シリアル化します。XmlSerializer でサポートされる型の詳細については、「XML シリアル化の概要」を参照してください。

上記の表に示されているプリミティブ型以外に、SOAP プロトコルを使用する Web サービスでは次のデータ型もサポートされます。

説明

クラスと構造体、クラスと構造体の配列

パブリック フィールドまたはパブリック プロパティを持つクラスと構造体型。パブリック プロパティとパブリック フィールドはシリアル化されます。クラスにはパラメーターを使用しない既定のコンストラクターが必要です。

DataSetDataSet の配列

ADO.NET DataSet 型。Dataset 型は、クラスまたは構造体のフィールドとして表示されることもあります。

XmlNodeXmlNode の配列

XmlNode は XML フラグメントのインメモリ表現です。XmlNodes 型はパラメーターまたは戻り値として渡すことができ、SOAP 準拠の方法で Web サービスに渡される XML の残りの部分に追加されます。これにより、呼び出しごとに構造が変化する場合や、渡されるすべての型がわからない場合でも、XML を渡したり、返すことができます。XmlNode 型は、クラスまたは構造体のフィールドとして表示される場合もあります。

参照

概念

XML Web サービス クライアントの作成

その他のリソース

Introducing XML Serialization
.NET Framework Class Library
ASP.NET を使用した XML Web サービス