11.3 JavaクラスからWSDLを生成する場合のデータ型の関係

Java2WSDLコマンドでJavaクラスからWSDLを生成した場合の,WSDL定義のデータ型と名前空間のURL,およびソースコードのデータ型の関係を示します。

表11-3 JavaクラスからWSDLを生成した場合のデータ型の対応

Javaでのデータ型WSDLでのデータ型
データ型名前空間のURL
booleanbooleanhttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.BooleanHolder
bytebytehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.ByteHolder
byte[]base64※3http://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.ByteArrayHolder
doubledoublehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.DoubleHolder
floatfloathttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.FloatHolder
intinthttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.IntHolder
longlonghttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.LongHolder
shortshorthttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.ShortHolder
java.lang.Bytebytehttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.ByteWrapperHolder
java.lang.Byte[]SequenceOf_soapenc_byte※3definitions要素のtargetNamespace※1
javax.xml.rpc.holders.ByteWrapperArrayHolder
java.lang.Doubledoublehttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.DoubleWrapperHolder
java.lang.Floatfloathttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.FloatWrapperHolder
java.lang.Integerinthttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.IntegerWrapperHolder
java.lang.Longlonghttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.LongWrapperHolder
java.lang.ObjectanyTypehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.ObjectHolder
java.lang.Object[]SequenceOf_xsd_anyTypedefinitions要素のtargetNamespace※2
java.lang.Shortshorthttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.ShortWrapperHolder
java.lang.Stringstringhttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.StringHolder
java.math.BigDecimaldecimalhttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.BigDecimalHolder
java.math.BigIntegerintegerhttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.BigIntegerHolder
java.util.Datedatehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.DateHolder
javax.xml.namespace.QNameQNamehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.QNameHolder
java.lang.Booleanbooleanhttp://schemas.xmlsoap.org/soap/encoding/※3
javax.xml.rpc.holders.BooleanWrapperHolder
java.util.CalendardateTimehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.CalendarHolder
org.apache.axis.types.Durationdurationhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.DurationHolder
org.apache.axis.types.Timetimehttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.TimeHolder
org.apache.axis.types.YearMonthgYearMonthhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.YearMonthHolder
org.apache.axis.types.YeargYearhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.YearHolder
org.apache.axis.types.MonthDaygMonthDayhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.MonthDayHolder
org.apache.axis.types.DaygDayhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.DayHolder
org.apache.axis.types.MonthgMonthhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.MonthHolder
org.apache.axis.types.URIanyURIhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.URIHolder
org.apache.axis.types.NormalizedStringnormalizedStringhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.NormalizedStringHolder
org.apache.axis.types.Tokentokenhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.TokenHolder
org.apache.axis.types.NameNamehttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.NCNameNCNamehttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.NMTokenNMTOKENhttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.NonPositiveIntegernonPositiveIntegerhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.NonPositiveIntegerHolder
org.apache.axis.types.NegativeIntegernegativeIntegerhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.NegativeIntegerHolder
org.apache.axis.types.NonNegativeIntegernonNegativeIntegerhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.NonNegativeIntegerHolder
org.apache.axis.types.UnsignedIntunsignedInthttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.UnsignedIntHolder
org.apache.axis.types.UnsignedLongunsignedLonghttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.UnsignedLongHolder
org.apache.axis.types.UnsignedShortunsignedShorthttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.UnsignedShortHolder
org.apache.axis.types.UnsignedByteunsignedBytehttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.UnsignedByteHolder
org.apache.axis.types.PositiveIntegerpositiveIntegerhttp://www.w3.org/2001/XMLSchema
org.apache.axis.holders.PositiveIntegerHolder
org.apache.axis.types.Languagelanguagehttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.IdIDhttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.IDRefIDREFhttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.EntityENTITYhttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.IDRefsIDREFShttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.EntitiesENTITIEShttp://www.w3.org/2001/XMLSchema
org.apache.axis.types.NMTokensNMTOKENShttp://www.w3.org/2001/XMLSchema
javax.activation.DataHandlerwsi:swaRefhttp://ws-i.org/profiles/basic/1.1/xsd
org.apache.axis.holders.DataHandlerHolder
注※1
WSDL内に次に示すtypes要素が生成されます。出力形式はJava2WSDLコマンドでの引数のオプションの設定値で異なります。
(1) Java2WSDLコマンドの引数で"-T 1.1"を指定した場合

<schema targetNamespace="http://localhost" (definitions要素のtargetNamespace)
 xmlns="http://www.w3.org/2001/XMLSchema">
 <complexType name="SequenceOf_xsd_byte">
   <sequence>
     <element name="item" minOccurs="0" maxOccurs="unbounded" type="xsd:byte" />
   </sequence>
 </complexType>
</schema>

(2) Java2WSDLコマンドの引数で"-T 1.2"を指定した場合

<schema targetNamespace="http://localhost" (definitions要素のtargetNamespace)
 xmlns="http://www.w3.org/2001/XMLSchema">
 <complexType name="SequenceOf_soapenc_byte">
   <complexContent>
     <restriction base="soapenc:Array">
       <attribute ref="soapenc:arrayType" wsdl:arrayType="soapenc:byte[]"/>
     </restriction>
   </complexContent>
 </complexType>
</schema>

注※2
WSDL内に次に示すtypes要素が生成されます。出力形式はJava2WSDLコマンドでの引数の設定値で異なります。
(1)Java2WSDLコマンドの引数で"-T 1.1"を指定した場合

<schema targetNamespace="http://localhost" (definitions要素のtargetNamespace)
 xmlns="http://www.w3.org/2001/XMLSchema">
 <complexType name="SequenceOf_xsd_anyType">
   <sequence>
     <element name="item" minOccurs="0" maxOccurs="unbounded" type="xsd:anyType" />
   </sequence>
 </complexType>
</schema>

(2)Java2WSDLコマンドの引数で"-T 1.2"を指定した場合

<schema targetNamespace="http://localhost" (definitions要素のtargetNamespace)
 xmlns="http://www.w3.org/2001/XMLSchema">
 <complexType name="SequenceOf_xsd_anyType">
   <complexContent>
     <restriction base="soapenc:Array">
       <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]"/>
     </restriction>
   </complexContent>
 </complexType>
</schema>

注※3
Java2WSDLコマンドの引数で"-T 1.1"を指定した場合の,データ型の対応を次の表に示します。

表11-4 JavaクラスからWSDLを生成した場合のデータ型の対応

Javaでのデータ型WSDLでのデータ型
データ型名前空間のURL
byte[]base64Binaryhttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.ByteArrayHolder
java.lang.Bytebytehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.ByteWrapperHolder
java.lang.Byte[]SequenceOf_xsd_bytedefinitions要素のtargetNamespace
javax.xml.rpc.holders.ByteWrapperArrayHolder
java.lang.Doubledoublehttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.DoubleWrapperHolder
java.lang.Floatfloathttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.FloatWrapperHolder
java.lang.Integerinthttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.IntegerWrapperHolder
java.lang.Longlonghttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.LongWrapperHolder
java.lang.Shortshorthttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.ShortWrapperHolder
java.lang.Stringstringhttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.StringHolder
java.math.BigDecimaldecimalhttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.BigDecimalHolder
java.math.BigIntegerintegerhttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.BigIntegerHolder
java.lang.Booleanbooleanhttp://www.w3.org/2001/XMLSchema
javax.xml.rpc.holders.BooleanWrapperHolder

Java2WSDLコマンドの引数については「9.1 Java2WSDLコマンド(WSDLの生成)」を参照してください。