次の方法で共有


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

すべてのプログラミング言語では、さまざまなデータを格納するための各種データ型を指定します。単純型、つまりプリミティブ型は、プログラミング言語間で非常によく似ています。ただし、言語間で直接割り当てられることがないように、微妙に異なっています。これは、任意のクライアント アプリケーションからアクセスできる XML Web サービスを作成するには問題となります。

幅広く対応できるように、XML Web サービスでは XML を使用してエンコードおよびシリアル化できるさまざまなプリミティブ データ型をサポートしています。

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

XML スキーマ定義言語 C++ 共通言語ランタイム
Boolean bool Boolean
Byte char、__int8    
Double double Double
Datatype struct    
Decimal     Decimal
Enumeration enum Enum
Float float Single
Int int、long、__int32 Int32
Long __int64 Int64
Qname     XmlQualifiedName
Short short、__int16 Int16
String BSTR String
TimeInstant     DateTime
UnsignedByte unsigned __int8    
UnsignedInt unsigned __int32 UInt32
UnsignedLong unsigned __int64 UInt64
UnsignedShort unsigned __int16 UInt16
プリミティブ型および列挙型の配列 上記の型の配列

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

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

HTTP-GET と HTTP-POST でサポートされる型の一覧を次の表に示します。

説明
プリミティブ型 (限定的) プリミティブ型 BooleanCurrencyDateTimeDecimalDoubleInt16Int32Int64SingleStringUInt16Uint32、および UInt64 は、文字列として表される名前と値のペアに変換されます。
列挙型 クライアントから見た場合、列挙型は各値について静的文字列定数フィールドを持つクラスになります。
プリミティブ型、列挙型の配列 上記の型の配列

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

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

説明
クラスと構造体、
クラスと構造体の配列
パブリック フィールドまたはパブリック プロパティを持つクラスおよび構造体型。パブリック プロパティとパブリック フィールドがシリアル化されます。クラスには、パラメータを使用しない既定のコンストラクタが必要です。
DataSet
DataSet の配列
ADO.NET DataSet 型。Dataset 型は、クラスや構造体のフィールドとして表示される場合もあります。
XmlNode
XmlNode の配列
XmlNode は、XML フラグメントのメモリ内の表現です。XmlNodes 型はパラメータや戻り値として渡すことができ、SOAP 準拠の方式で XML Web サービスに渡される XML の残りの部分に追加されます。これによって、呼び出しごとに XML の構造が変化する場合や、渡されるすべての型がわからない場合でも、XML を渡したり、返したりできます。XmlNode 型は、クラスや構造体のフィールドとして表示される場合もあります。

参照

XML シリアル化の概要 | .NET Framework クラス ライブラリの概要ASP.NET を使用した XML Web サービスの作成 | XML Web サービス クライアントの作成