マッピング・プロパティー

以下のマッピング・プロパティーは、 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 もほとんどがデフォルトでサポートされます。

Bean
自動的に構成できる org.w3c.dom.Element 以外の Java クラスとの間のマッピング。  Bean のマッピング・スタイルには、 基本的な Java の型、Java 配列、一般的な Java クラス型の一部 (java.lang.String、java.util.Date、java.util.Vector など) が含まれます。
エレメント
自動的に構成できる Java の型 org.w3c.dom.Element との間のマッピング。
カスタム
ユーザー定義のマッピング。  デフォルトの Bean またはエレメント・マッピング・スタイルをカスタム・マッピングに切り替えることのできるマッピング。  このマッピング・スタイルは、デフォルト設定のままではランタイムを理解しない型 (Java または XSD) を対象としたマッピングの作成に使用します。 例えば、ユーザーの記述した Java クラスのうち Bean 以外のものや、 非 XMLSchema2001 型システムで定義した XML 複合型などです。

Java から WSDL XSD (2001) へのマッピング

Java から WSDL XSD (2001) へのマッピングの表で示しているのは、Java データ型から、 SOAP およびリテラル XML エンコード・スタイルの WSDL パーツ型への、 WSDL SOAP バインディングで定義したデフォルト・マッピングです。 この表では、Java と XML 間で実際に変換を行う際に、SOAP ランタイム環境に構成されるシリアライザー、 およびデシリアライザーも示されています。  この表にリストされていない、Java の型とエンコード・スタイルの組み合わせのデフォルトは、カスタム・マッピングです。

Java の型 エンコード・スタイル XML 型ネームスペース 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 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 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 エレメント

®

  1. ネームスペースの接頭部 xsd が、URI http://www.w3.org/2001/XMLSchema へ定義されています。
  2. ネームスペースの接頭部 xml-soap が、URI http://xml.apache.org/xml-soap へ定義されています。 これは、SOAP の標準 URI ではありません。
  3. ネームスペースの接頭部 soap-enc が、URI http://schemas.xmlsoap.org/soap/encoding/ へ定義されています。 これは、SOAP の標準 URI です。
  4. マッピングは、soap-enc:Array の制限、および基本の wsdl:arrayType を定義する complexType に対するものであり、直接、soap-enc:Array に対するものではありません。
  5. スキーマ・ネームスペースは、Java クラス名に基づいて、 自動的に作成され、命名されます。
  6. 「任意の XML」を記述するスキーマ型は、自動的に作成されます。
  7. スキーマ型は、Java クラス名に基づいて、 自動的に作成され、命名されます。
  8. SOAP 2.2 は、Java char と XSD の間のデフォルト・マッピングは定義しません。
  9. SOAP 2.2 は、基本的な java.lang ラッパー型 (例えば java.lang.Integer) と XSD の間のデフォルト・マッピングは定義しません。
  10. XSD の 2001 レベルの型 dateTime は、XSD の 2000/10 レベル、および 1999 レベルでは、timeInstant と呼ばれます。
  11. または、上記の注 6 で生成されたのと同様の型。
  12. ネームスペースおよび型名で、XSD 2001 を使用して定義した、complexType またはエレメントが識別されます。
  13. ネームスペースおよび型名で、XSD 2001 以外の型システムを使用して定義した complexType またはエレメントが識別されます。
  14. Java Bean およびそれにネストされる必要な Bean は、複合型名かエレメント名、 および Java Bean 型構造に基づいて、自動的に作成され、命名されます。
  15. (オプション) XSD 2001 の複合型のリテラル XML エンコード・インスタンスを、 Java Bean にではなく、org.w3c.dom.Element にマップすることもできます。
  16. Bean は、XSD 2001 以外の型システムで定義した型に対しては生成できないので、 そのような型のリテラル XML エンコード・インスタンスは、org.w3c.dom.Element にしかマップすることはできません。
  17. (オプション) <mime:mimeXml> として戻されたインスタンス、および XSD 2001 の型のインスタンスを Bean にではなく、org.w3c.dom.Element にマップすることもできます。
  18. <mime:content type="text/xml"> として戻されるインスタンスでは、Bean は生成されません。 したがって、型は org.w3c.dom.Element にしかマップできません。
  19. XSD 2001 以外の型システムで定義される型では、Bean は生成できません。 したがって、型は org.w3c.dom.Element にしかマップできません。
  20. Vector のコンテンツを正しくシリアライズ/デシリアライズするには、Vector 内の個々の型もマップする必要があります。 例えば、X という Bean と一緒に Vector を取り込む場合は、 X という Bean に対応したマッピング・エントリーが存在していなければなりません。 さもないとランタイムで「型 X のシリアライズ/デシリアライズができません」のようなメッセージが表示されます。
  21. XML 型名 Map は現在 java.util.Map にマップされています。java.util.Hashtable にはマップされていません。
  22. Bean か EJB かいずれかの入力パラメーター全体を通じて、 ラッパーが、そのラッパーに対応しているプリミティブ型と一緒に 1 つも現れないという条件であれば、 これら XSD 型をラッパーにマップすることができます。
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.