以下のマッピング・プロパティーは、 IBM® SOAP ランタイム環境を使用する Web サービスのみに適用されます。
プロパティー | 説明 |
---|---|
エンコード・スタイル | SOAP プロトコルでデータをシリアライズする場合の規則。 リテラル XML (http://xml.apache.org/xml-soap/literalxml) は、XML スキーマ・インスタンスに基づいています。 SOAP エンコード方式 (http://schemas.xmlsoap.org/soap/encoding/) は 簡単な型システムに基づいています。この型システムは、プログラム言語、データベース、 および半構造データの型システムに見られる共通の機能を一般化したものです。 エンコード方式は、アプリケーションにおいて定義されたデータ値とプロトコル・フォーマットとの間での変換方法を定義します。 SOAP エンコード方式について詳しくは、 www.w3.org/TR/SOAP を参照してください。 |
XML 型名前空間 | 組織を一意的に識別して、エレメント名の競合を避けるために、 XML 文書の接頭部として機能します。 |
XML 型名 | XSD で定義される複合型または単純型の名前。 |
Bean クラス | データおよびそのデータについて操作するためのメソッドをカプセル化した Java クラスの完全修飾名です。 |
Serializer クラス (SOAP のみ) | 実行時にエンコード・スタイルに応じて、 Bean クラスのインスタンスを XML 型のインスタンスに変換します。 org.apache.soap.util.xml.Serializer インターフェースを実装するクラスの完全修飾名です。 |
Deserializer クラス (SOAP のみ) | 実行時に指定のエンコード・スタイルの XML 型のインスタンスを、 Bean クラスのインスタンスに変換します。 org.apache.soap.util.xml.Deserializer インターフェースを実装するクラスの完全修飾名です。 |
Marshaller メソッド (HTTP のみ) | 実行時に Bean クラスのインスタンスを HTTP で伝送できるようにストリングに変換します。 |
Unmarshaller メソッド (HTTP のみ) | 実行時に HTTP で受信したストリングのインスタンスを Bean クラスのインスタンスに変換します。 |
マッピングにより、XML Qname、Java クラス名、エンコード・スタイルと、 クラスのインスタンスと XML Qname のエンコードされたインスタンスとの間で相互に変換するのに使用されるシリアライザー、 およびデシリアライザーとの間の関連が指定されます。 この 2 つのマッピング方向をそれぞれ「Java から XML へ」「XML から Java へ」と言います。
SOAP バージョン 2.3 ランタイム環境でも、このようなマッピング・エントリー (SOAPMappingRegistry と呼ばれる) のテーブルが保持されます。
型マッピング・レジストリーの中では、 1 つの Java の型からマップできるのは多くても XSD 型 1 つであり、 1 つの XSD 型からマップできるのは多くても Java の型 1 つです。標準的な Java の型も Java Bean もほとんどがデフォルトでサポートされます。
Java から WSDL XSD (2001) へのマッピングの表で示しているのは、Java データ型から、 SOAP およびリテラル XML エンコード・スタイルの WSDL パーツ型への、 WSDL SOAP バインディングで定義したデフォルト・マッピングです。 この表では、Java と XML 間で実際に変換を行う際に、SOAP ランタイム環境に構成されるシリアライザー、 およびデシリアライザーも示されています。 この表にリストされていない、Java の型とエンコード・スタイルの組み合わせのデフォルトは、カスタム・マッピングです。
Java の型 | エンコード・スタイル | XML 型名前空間 注 1 | XML 型名 | シリアライザー | デシリアライザー | マッピング・スタイル | コメント |
---|---|---|---|---|---|---|---|
boolean, java.lang.Boolean | SOAP | xsd | boolean | - | - | Bean | |
byte, java.lang.Byte | SOAP | xsd | byte | - | - | Bean | |
short, java.lang.Short | SOAP | xsd | short | - | - | Bean | |
int, java.lang.Integer | SOAP | xsd | int | - | - | Bean | |
long, java.lang.Long | SOAP | xsd | long | - | - | Bean | |
float, java.lang.Float | SOAP | xsd | float | - | - | Bean | |
double, java.lang.Double | SOAP | xsd | double | - | - | Bean | |
java.lang.String | SOAP | xsd | string | - | - | Bean | |
java.math.BigDecimal | SOAP | xsd | decimal | - | - | Bean | |
java.util.GregorianCalendar | SOAP | xsd | date | - | - | Bean | |
java.util.Date | SOAP | xsd | dateTime | - | - | Bean | |
java.util.Vector | SOAP | xml-soap 注 2 注 20 | Vector | - | - | Bean | |
java.util.Map | SOAP | xml-soap 注 2 注 20 | Map | - | - | Bean | |
java.util.Hashtable | SOAP | xml-soap 注 2 注 20 | Map | - | - | Bean | |
byte[] | SOAP | soap-enc 注 3 | base64 | - | - | Bean | |
T[] (型 T の配列) | SOAP | soap-enc 注 3 | Array 注 4 | - | - | Bean | T が byte でも org.w3c.dom.Element でもない場合。 |
org.w3c.dom.Element | リテラル XML | 注 5 | 注 6 | N/A | N/A | エレメント | |
Java Bean | SOAP | 注 5 | 注 7 | BeanSerializer | BeanSerializer | Bean | 修飾されたシリアライザー/デシリアライザーのクラス名は org.apache.soap.encoding.soapenc.BeanSerializer です。 |
WSDL XSD から Java (SOAP バインディング) へのマッピングの表では、 WSDL パーツ型から、SOAP およびリテラル XML エンコード・スタイルの Java データ型への WSDL SOAP バインディングで定義したデフォルト・マッピングについて説明しています。 この表では、Java と XML 間で実際に変換を行う際に、 SOAP ランタイム環境に構成されるシリアライザーおよびデシリアライザーも示されています。 この表にリストされていない WSDL パーツ型とエンコード・スタイルの組み合わせのデフォルトは、カスタム・マッピングです。
XML 型名前空間 注 1 | XML 型名 | エンコード・スタイル | Java クラス | シリアライザー・クラス | デシリアライザー・クラス | マッピング・スタイル | コメント |
---|---|---|---|---|---|---|---|
xsd | boolean | SOAP | boolean、java.lang.Boolean 注 22 | - | - | Bean | |
xsd | byte | SOAP | byte、java.lang.Byte 注 22 | - | - | Bean | |
xsd | short | SOAP | short、java.lang.Short 注 22 | - | - | Bean | |
xsd | int | SOAP | int、java.lang.Integer 注 22 | - | - | Bean | |
xsd | long | SOAP | long、java.lang.Long 注 22 | - | - | Bean | |
xsd | float | SOAP | float、java.lang.Float 注 22 | - | - | Bean | |
xsd | double | SOAP | double、java.lang.Double 注 22 | - | - | Bean | |
xsd | string | SOAP | string | - | - | Bean | |
xsd | decimal | SOAP | java.math.BigDecimal | - | - | Bean | |
xsd | date | SOAP | java.util.GregorianCalendar | - | - | Bean | |
xsd | dateTime 注 10 | SOAP | java.util.Date | - | - | Bean | |
xml-soap 注 2 | Vector | SOAP | java.util.Vector | - | - | Bean | |
xml-soap 注 2 | Map | SOAP | java.util.Map 注 21 | - | - | Bean | |
soap-enc 注 3 | base64 | SOAP | byte[] | - | - | Bean | |
soap-enc 注 3 | Array | SOAP | T[] 注 4 | - | - | Bean | T は wsdl:arrayType からのマッピングです。注 4 |
some-namespace 注 12 | some-complex-type (XSD 2001 内) 注 12 | SOAP | 注 14 | BeanSerializer | BeanSerializer | Bean | 修飾されたシリアライザー/デシリアライザーのクラス名は com.ibm.etools. webservice.runtime. XSDAnyTypeSerializer BeanSerializer です。 |
some-namespace 注 12 | some-complex-type (XSD 2001 内) 注 12 | リテラル XML | 注 14 | N/A | N/A | Bean | 変換は、生成されたプロキシーまたはスケルトンで処理され、 SOAP シリアライザー、または SOAP デシリアライザー経由の、SOAP ランタイム環境では処理されません。 |
some-namespace 注 12 | some-complex-type (XSD 2001 内) 注 12 | リテラル XML | org.w3c.dom.Element 注 15 | N/A | N/A | エレメント | |
some-namespace 注 13 | some-type 注 13 | リテラル XML | org.w3c.dom.Element 注 16 | N/A | N/A | エレメント | |
xsd | anyType 注 11 | リテラル XML | org.w3c.dom.Element | N/A | N/A | エレメント | |
xsd | base64Binary | SOAP | byte[] | - | - | Bean | |
xsd | hexbinary | SOAP | byte[] | - | - | Bean | |
xml soap | エレメント | リテラル XML | org.w3c.dom.Element | - | - | エレメント |
WSDL XSD から Java (HTTP バインディング) へのマッピングの表では、WSDL パーツ型から、 HTTP GET および POST バインディングの Java データ型への、デフォルト・マッピングについて説明しています。 この表にリストされていない、WSDL パーツ型とエンコード・スタイルの組み合わせのデフォルトは、 カスタム・マッピングであり、この場合は、 ユーザーが marshaller および unmarshaller メソッドを用意する必要があります。
XML 型名前空間 注 1 | XML 型名 | MIME 型 | Java クラス | マッピング・スタイル |
---|---|---|---|---|
xsd | boolean | テキスト/プレーン・テキスト/xml mimeXml | boolean | Bean |
xsd | byte | テキスト/プレーン・テキスト/xml mimeXml | byte | Bean |
xsd | short | テキスト/プレーン・テキスト/xml mimeXml | short | Bean |
xsd | int | テキスト/プレーン・テキスト/xml mimeXml | int | Bean |
xsd | long | テキスト/プレーン・テキスト/xml mimeXml | long | Bean |
xsd | float | テキスト/プレーン・テキスト/xml mimeXml | float | Bean |
xsd | double | テキスト/プレーン・テキスト/xml mimeXml | double | Bean |
xsd | string | テキスト/プレーン・テキスト/xml mimeXml | string | Bean |
xsd | decimal | テキスト/プレーン・テキスト/xml mimeXml | java.math.BigDecimal | Bean |
xsd | date | テキスト/プレーン・テキスト/xml mimeXml | java.util.GregorianCalendar | Bean |
xsd | dateTime 注 10 | mimeXml テキスト/プレーン・テキスト/xml | java.util.Date | Bean |
some-namespace 注 12 | some-complex-type (XSD 2001 内) 注 12 | mimeXml | 注 14 | Bean |
some-namespace 注 12 | some-complex-type (XSD 2001 内) 注 12 | mimeXml | org.w3c.dom.Element 注 17 | エレメント |
some-namespace 注 12 | some-complex-type (XSD 2001 内) 注 12 | text/xml | org.w3c.dom.Element 注 18 | エレメント |
some-namespace 注 13 | some-type 注 13 | mimeXml text/xml | org.w3c.dom.Element 注 19 | エレメント |
xsd | anyType 注 11 | mimeXml text/xml | org.w3c.dom.Element | エレメント |