Hitachi

Cosminexus V11 アプリケーションサーバ SOAPアプリケーション開発の手引


9.1 Java2WSDLコマンド(WSDLの生成)

WSDLの生成は次のコマンドを使用します。

形式
Java2WSDL.bat -l <サービスロケーション> [その他のオプション群]<対象となるクラス名>

必須の-lオプションおよび任意に指定するオプションの一覧を示します。

表9‒1 Java2WSDLコマンドの-lオプション(必須)

オプション

意味

-l

サービスロケーションを指定します(service要素のaddress location属性)。サービスロケーションの指定方法については,「3.3.1 サービスロケーションの指定」を参照してください。

表9‒2 Java2WSDLコマンドのオプション一覧(任意)

オプション

意味

-h

ヘルプが表示されます。

-o

WSDLの出力先ファイル名を指定します。

省略時:"servicePort名.wsdl"の名称でカレントディレクトリに生成されます。

-P

portType名を指定します(portType要素のname属性)。

省略時:指定クラス名が設定されます。

-b

binding名を指定します(binding要素のname属性)。

省略時:"servicePort名"+"SOAPBinding"が設定されます。

-S

serviceElement名を指定します(service要素のname属性)。

省略時:"portType名"+"Service"が設定されます。

-s

servicePort名を指定します(service要素内のport要素のname属性)。

省略時:サービス名(サービスロケーションの最終ノード名)が設定されます。

-n

targetNamespaceを指定します。

省略時:クラスのパッケージ名から生成されます。

クラスにパッケージ名の指定がない場合は,"http://DefaultNamespace"が設定されます。

-p

パッケージ名と名前空間の関係をpackage=namespaceの形式で指定します(名前空間の変更)。

-m

対象となるメソッドを空白またはコンマ(,)区切りで指定します。

省略時:すべてのメソッドが対象になります。

-w

WSDLの生成モードをAll,Interface,Implementationのどれかで指定します。

省略時:Allが設定されます。

-x

非対象メソッドを空白またはコンマ(,)区切りで指定します。

省略時:非対象メソッドは設定されません。

-T

TypeMappingVersionを1.1または1.2で指定します。

typeMappingVersion値によって,Javaクラスから生成されるWSDL内のデータ型が異なります。詳細は次の表を参照してください。

省略時:1.1が設定されます。

-A

soapActionの値を指定します。DEFAULTを指定した場合は""を設定します。NONEを指定した場合,soapActionは生成されません。

省略時:DEFAULTが設定されます。

-z

WSDLのバインディングスタイルをRPCまたはDOCUMENTで指定します。大文字/小文字は区別されません。

省略時:RPCを設定します。

DOCUMENTを指定した場合は,wrapped形式のWSDLが生成されます。

-u

use属性をLITERALまたはENCODEDで指定します。大文字/小文字は区別されません。

省略時:LITERALが設定されます。

注※

wrapped形式については,「3.3.3(3) DOCUMENT/LITERALを指定した場合」を参照してください。

表9‒3 typeMappingVersion値とデータ型の関係

クラス名

WSDL内のデータ型

1.1指定時

1.2指定時

データ型

名前空間名

データ型

名前空間名

java.lang.String

string

xsd

string

soapenc

java.lang.Boolean

boolean

xsd

boolean

soapenc

java.lang.Double

double

xsd

double

soapenc

java.lang.Float

float

xsd

float

soapenc

java.lang.Integer

int

xsd

int

soapenc

java.math.BigInteger

integer

xsd

integer

soapenc

java.math.BigDecimal

decimal

xsd

decimal

soapenc

java.lang.Long

long

xsd

long

soapenc

java.lang.Short

short

xsd

short

soapenc

java.lang.Byte

byte

xsd

byte

soapenc

byte[]

base64Binary

xsd

base64

soapenc

(凡例)

xsdは名前空間URIが"http://www.w3.org/2001/XMLSchema"であることを示します。

soapencは名前空間URIが"http://schemas.xmlsoap.org/soap/encoding/"であることを示します。

終了コード

0:正常終了

1:異常または警告終了

メッセージ

メッセージの詳細については,マニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」の開発支援コマンドによって出力されるメッセージの記述を参照してください。

注意事項
  • 対象となるメソッドの引数または戻り値に,ユーザ定義のデータ型クラスを含む場合,WSDL内でユーザ定義のデータ型クラスを表す型が定義されますが,このときの要素の並び順は,ユーザ定義のデータ型クラス内でのフィールドの順序に関係なく,アルファベット順となります。

  • -zオプションでDOCUMENT,-uオプションでENCODEDの組み合わせは指定できません。

  • Java2WSDLコマンドを実行してJavaインタフェースからWSDLを生成する場合,Javaインタフェースのメソッドのパラメタ名は,WSDLに「inXX」(XXは整数)の名称でマッピングされます。生成例については,「3.3.9(2) Javaインタフェースのメソッドのパラメタ名と生成されるWSDLの対応」を参照してください。

  • Java2WSDLコマンドを実行する場合,指定するJavaインタフェースへのクラスパスを環境変数CLASSPATHに設定してください。CLASSPATHの設定がない場合,Java2WSDLコマンドは,カレントディレクトリをクラスパスに設定し,指定されたJavaインタフェースを検索します。