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.Stringstringxsdstringsoapenc
java.lang.Booleanbooleanxsdbooleansoapenc
java.lang.Doubledoublexsddoublesoapenc
java.lang.Floatfloatxsdfloatsoapenc
java.lang.Integerintxsdintsoapenc
java.math.BigIntegerintegerxsdintegersoapenc
java.math.BigDecimaldecimalxsddecimalsoapenc
java.lang.Longlongxsdlongsoapenc
java.lang.Shortshortxsdshortsoapenc
java.lang.Bytebytexsdbytesoapenc
byte[]base64Binaryxsdbase64soapenc
(凡例)
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インタフェースを検索します。