11.1 WSDL定義とソースコードのデータ型の関係
WSDLからソースコードを生成する場合,WSDL定義のデータ型および名前空間のURLによって,生成されるソースコードでのデータ型が異なります。また,JavaクラスからWSDLを生成する場合,Javaクラスのデータ型によって,WSDL定義での名前空間のURLが異なります。
次に示すWSDL定義を例に,生成されるソースコードのデータ型の違いについて説明します。
<?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions targetNamespace="http://DefaultNamespace" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://DefaultNamespace-impl" xmlns:intf="http://DefaultNamespace" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:message name="soaplongRequest"> <wsdl:part name="in0" type="soapenc:long" /> (1) </wsdl:message> <wsdl:message name="xsdlongRequest"> <wsdl:part name="in0" type="xsd:long" /> (2) </wsdl:message> : </wsdl:definitions>
WSDL定義の(1)の部分と(2)の部分は同じlong型を使用していますが,使用している名前空間が異なるため,生成されるソースコードのデータ型は異なります。生成されたソースコードでは,(1)の部分はjava.lang.Long型に,(2)の部分はlong型になります。