wsimport(1)

名前
wsimport - JAX-WS 2.0 ベータ

形式

wsimport [options] <wsdl>

機能説明

wsimport ツールは、次のような JAX-WS ポータブルアーティファクトを生成します。

    o   サービスエンドポイントインタフェース (SEI)

    o   サービス

    o   wsdl:fault からマップされる例外クラス (存在する場合)

    o   応答 wsdl:message から派生する非同期応答 Bean (存在する場合)

    o   JAX-B が生成する値タイプ (スキーマの型からマップされた Java クラス)

これらのアーティファクトは、WSDL ドキュメント、スキーマドキュメント、およびエンドポイント実装とともに WAR ファイル内にパッケージ化して配備することができます。

wsimport ツールを起動するには、コマンド行スクリプト wsimport.sh (Unix) または wsimport.bat (Windows) を使用します。WSDL をインポートおよびコンパイルするための Ant タスクも存在しています。詳しくは後述の説明を参照してください。

オプション

次の表に、wsimport のオプションを示します。

表 1-1 wsimport のオプション

オプション | 説明
-d <directory> | 生成される出力ファイルを格納する場所を指定します
-b <path> | 外部の JAX-WS または JAXB バインディングファイルを指定します (<file> ごとに -b が必要となる) |
-catalog | 外部エンティティ参照を解決するためのカタログファイルを指定します。TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。「XML Entity and URI Resolvers」ドキュメントをお読みになるか、wsimport_catalog サンプルを参照してください。 |
-extension | ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります |
-help | ヘルプを表示します
-httpproxy:<host>:<port> | HTTP プロキシサーバーを指定します (デフォルトのポートは 8080) |
-keep | 生成されたファイルを保持します
-p | このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべての WSDL/スキーマバインディングカスタマイズや、 仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます |
-s <directory> | 生成されるソースファイルを格納する場所を指定します |
-verbose | コンパイラが実行している処理に関するメッセージを出力します |
-version | バージョン情報を出力します
-wsdllocation <location> | @WebService.wsdlLocation と @WebServiceClient.wsdlLocation の値 |

-b オプションを使って、複数の JAX-WS および JAXB バインディングファイルを指定できます。 これらのファイルを使って、パッケージ名や Bean 名など、さまざまなカスタマイズが可能です。 JAX-WS および JAXB バインディングファイルの詳細については、カスタマイズマニュアルを参照してください。

  Ant タスク

wsimport ツールには、このツール用の Ant タスクが付属しています。この Ant タスクがサポートする属性や要素を、次に示します。

   <wsimport
      wsdl="..."
      destdir="directory for generated class files"
      sourcedestdir="directory for generated source files"
      keep="true|false"
      extension="true|false"
      verbose="true|false"
      version="true|false"
      wsdlLocation="..."
      catalog="catalog file"
      package="package name"
      <binding dir="..." includes="..." />
  </wsimport>

属性 | 説明 | コマンド行
wsdl | WSDL file | WSDL
destdir | 生成される出力クラスを格納する場所を指定します | -d
sourcedestdir | 生成されたソースファイルの格納場所を指定します。このオプションの指定時には keep もオンになります。 | -s
keep | 生成されたファイルを保持します。sourcedestdir オプション指定時にオンになります | -keep
verbose | コンパイラが実行している処理に関するメッセージを出力します | -verbose
binding | 外部の JAX-WS または JAXB バインディングファイルを指定します | -b
extension | ベンダー拡張 (仕様で規定されていない機能) を許可します。拡張を使用すると、アプリケーションの移植性が失われたり、ほかの実装との相互運用が行えなくなる可能性があります | -extension
wsdllocation | このオプション経由 で 渡 さ れたWSDL の URI は、生 成 された SEIおよびサービスインタフェース上の@WebService.wsdlLocationお よ び@WebServiceClient.wsdlLocation注釈要素の値を設定するために使用されます。 | -wsdllocation
catalog | 外部エンティティ参照を解決するためのカタログファイルを指定します。TR9401、XCatalog、OASIS XML Catalog の各形式がサポートされています。さらに、Ant xmlcatalog タイプを使ってエンティティを解決することもできます。wsimport_catalog サンプルを参照してください。 | -catalog
package | ターゲットパッケージを指定します | -p

binding 属性は、 Path-like Structures
(http://ant.apache.org/manual/using.html#path) であり、それぞれ入れ子になった <binding> 要素を使って設定することもできます。このタスクを使用するには、次の <taskdef> 要素をプロジェクトに追加しておく必要があります。

  <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
      <classpath path="jaxws.classpath"/>
  </taskdef>

ここで、jaxws.classpath は、JAX-WS ツールが必要とするクラスのリストを含む、ビルド環境内の別の場所に定義された Path-like Structure
(http://ant.apache.org/manual/using.html#path) への参照です。

例

  <wsimport
      destdir="${build.classes.home}"
      debug="true"
      wsdl="AddNumbers.wsdl"
      binding="custom.xml"/>

上の例では、AddNumbers.wsdl のクライアント側アーティファクトを生成し、custom.xml カスタマイズファイルに基づいて ${build.classes.home} ディレクトリ内に .class ファイルを格納しています。使用されるクラスパスは xyz.jar であり、デバッグ情報がオンの状態でコンパイルが実行されます。

  <wsimport
      keep="true"
      sourcedestdir="${source.dir}"
      destdir="${build.classes.home}"
      wsdl="AddNumbers.wsdl">
      <binding dir="${basedir}/etc" includes="custom.xml"/>
  </wsimport>

上の例では、AddNumbers.wsdl のポータブルアーティファクトを生成し、${source.dir} ディレクトリ内に .java ファイルを格納し、${build.classes.home} ディレクトリ内に .class ファイルを格納しています。

注意

変更または削除された wsimport の Ant 属性の概要

base が destdir で置き換えられました

sourceBase が sourcedestdir で置き換えられました

wsdlFile が wsdl で置き換えられました
httpProxy が削除されました。代わりに、Ant の setproxy タスクを使ってプロキシ構成を行ってください。
version が削除されました