WSDL2Client ツールの解説

WSDL2Client ツールは、Web サービスの WSDL 文書から クライアントを生成します。

構文

一度コマンド行をセットアップすると、次の構文と引数を使用して、 ツールを実行できます。

スケルトン・クライアント実装を作成する構文は、 次のとおりです。
  • 引数 <WSDL URI> は、最後に置く必要があります。
  • -createEar 引数を正常に実行するためには、スケルトン Web サービス・クライアント実装を 作成する際に -clientType 引数を指定する必要があります。
クライアント・アーカイブを作成する構文は、次のとおりです。

引数

スケルトン・クライアント実装を作成する場合:

必須引数:

-project <ProjectName>
出力用ターゲット・プロジェクト・ディレクトリーの完全修飾パス名を指定します。このディレクトリーが存在しない場合は、WSDL2Client によって作成されます。 デフォルトは現行ディレクトリーです。
<WSDL-URI>
WSDL 文書の場所を URI として指定します。この URI は、リモート・ファイル・システムにあっても ローカル・ファイル・システムにあってもかまいません。WSDL が複数の WSDL 文書に分かれている場合は、 インポート・チェーンの先頭にある文書 (通常は実装 WSDL) を指定してください。

オプション引数:

-NSToPkg <mappings>
namespace=package マッピングのリストを指定します。
-fileNSToPkg <mappings file>
namespace=package マッピングが含まれるプロパティー・ファイルのパスを指定します。名前空間内のコロン (「:」) は、このファイルでは円記号 (¥) で エスケープする必要があります。例えば、http¥://my.namespace のようになります。WSDL2Client は、 エスケープされたコロンが含まれない名前空間参照は無視します。
-all
WSDL 文書で定義したすべての複合型に対して、Java™ クラスを生成します。 デフォルトでは、WSDL 文書でのみ定義および参照されるクラスが 生成されます。
-genResolver
インポート・リゾルバーを生成します。ここには、インポートされる xsd (xml スキーマ) ファイルからの情報が すべて含まれています。このパラメーターのその他の情報については、注 1 を参照してください。
-wsSecDir <directory>
WS-Security 情報によって WSDL2Client が生成するデプロイメント記述子の 構成に使用するテンプレートが含まれているディレクトリーの、 絶対パスを指定します。このディレクトリーには、さらに ibm-webservicesclient-bnd.xmi ファイルと ibm-webservicesclient-ext.xmi ファイルも 含まれている必要があります。
-clientType <J2SE | Application | Servlet | EJB>
指定したクライアント・タイプのスケルトン実装クラスを生成します。 この引数は、必ず -genMain 引数と一緒に使用します。
-genMain <name of main class>
生成するメイン・クラスの名前を指定します。この引数は、 必ず -clientType 引数と一緒に使用します。
-user
WSDL URI へのアクセスに使用するユーザー名を指定します。
-password
WSDL URI へのアクセスに使用するパスワードを指定します。
-verbose
ツールの実行時に追加情報を表示します。
-help
ヘルプ情報を表示します。
-clientName <client name>
<ProjectDirectory> 内の <client name> というディレクトリーの下に、クライアントを生成します。
-overwrite
既存のクライアント・ディレクトリーを上書きします。

クライアント・アーカイブを作成する場合:

必須引数:
-createEar<name of target ear file>
作成される EAR ファイルの完全修飾パス名を指定します。 このファイルが既に存在する場合は、そのファイルを拡張子 .ear~ を付けてバックアップした後に、 新しいファイルで上書きします。
-clientType <application | servlet | EJB>
実装するクライアントのタイプを指定します。
-ri
クライアント・リモート・インターフェースの名前を指定します。これは、完全修飾パッケージ名でなければ なりません。この引数は、-clientType EJB を指定する場合は必須です。それ以外のすべてのタイプでは、 この引数は無効です。
-main
クライアント・メイン・クラスの名前を指定します。これは、完全修飾パッケージ名でなければ なりません。この引数は、-clientType <Application | Servlet> を指定する場合は必須です。それ以外のすべてのタイプでは、 この引数は無効です。
<ProjectDir>
WSDL2Client のステージ 1、または他のツール (Bean2WebService など) のいずれかによって作成される プロジェクト・ディレクトリーのパス名。このディレクトリーには、クライアントのコンパイル済み実装を備えた クライアント・サイド・ディレクトリーが含まれている必要があります。
オプション引数:
-verbose
ツールの実行時に追加情報を表示します。
-help
ヘルプ情報を表示します。
-rootModule <root module base name>
同じタイプの個々の Web サービス・クライアントを、1 つのモジュールにマージし、集約します。クライアントが -clientName オプションを指定して生成されている場合にのみ 有効です。Web モジュールの名前は <root module base name>_WEB.war、EJB クライアント・モジュールの名前は <root module base name>_EJB.jar、 アプリケーション・クライアント・モジュールの名前は <root module base name>_APP.jar になります。
注 1: リモートの絶対参照をローカルにするには、 -genResolver 引数だけを選択します。そうすると、Web サービスの実行時に インターネットに接続する必要がありません。この引数は、ローカルまたは相対インポートでは 使用できません。また、-genResolver オプションは、XSD ファイルをインポートする WSDL インポートが 含まれる WSDL ファイルでは使用できません。例えば、 次のように WSDL インポートをスキーマ要素の外側に置くのではなく、
  <import location="a.xsd" namespace="http://namespaceA"/>
  <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="http://namespaceA" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
次のように、それをスキーマ要素内部のスキーマ・インポートで置き換えます。
  <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="http://namespaceA" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <import schemaLocation="a.xsd" namespace="http://namespaceA"/>

フィードバック