JAX-RPC Web サービス (J2EE 1.4 仕様) の場合、IDE は Sun Java System Application Server に付属の wscompile ツールを使用して、Web サービスの対話に必要なファイルを作成します。Sun Java System Application Server を IDE に登録すると、IDE から wscompile ツールを構成および実行できるようになります。
IDE が wscompile ツールを呼び出すのは、Web サービス、Web サービスクライアント、またはそれらが含まれたプロジェクトやエンタープライズアプリケーションを構築するときです。
wscompile ツールは、Web サービスまたは Web サービスクライアントを作成するときに、IDE が生成した構成ファイルを読み込みます。IDE が生成した構成ファイルは、Java から Web サービスを作成するのか、既存の WSDL ファイルから Web サービスを作成するのか、または Web サービスクライアントを作成するのかに応じて異なります。
IDE が提供する構成ファイルでは、<interface> 要素で指定されたサービスエンドポイントインタフェースから wscompile ツールが WSDL ファイルを生成することが指定されます。
<configuration xmlns='http://java.sun.com/xml/ns/jax-rpc/ri/config'> <service name='HiWS' targetNamespace='urn:HiWS/wsdl' typeNamespace='urn:HiWS/types' packageName='org.me.hi'> <interface name='org.me.hi.HiWSSEI' servantName='org.me.hi.HiWSImpl'> </interface> </service> </configuration>
IDE が提供する構成ファイルでは、指定された WSDL ファイルから wscompile ツールが サービスエンドポイントインタフェースを生成することが指定されます。
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="C:\MyNetBeansProjects\Hi\HiWS/web/WEB-INF/wsdl/HiWS.wsdl" packageName="org.me.hi"/> </configuration>
IDE が提供する構成ファイルでは、指定された WSDL ファイルから wscompile ツールがクライアント側アーティファクトを生成することが指定されます。
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="C:\MyNetBeansProjects\Hi\HiWSC1/web/WEB-INF/wsdl/HiWS.wsdl" packageName="org.me.hi"/> </configuration>
これらの構成ファイルの情報は、次の項で説明するように、設定されたオプションおよび機能と共に wscompile ツールで処理されます。
Web サービスまたは Web サービスクライアントを作成する場合、IDE はコンパイルターゲットを build.xml ファイルに生成します。ターゲットが wscompile ツールを呼び出すのは、Web サービス、Web サービスクライアント、またはそれらが含まれた J2EE アプリケーションを構築するときです。Web サービスでは、ターゲットの名前が webservicename_wscompile になります。Web サービスクライアントでは、ターゲットの名前が webclientname_client_wscompile になります。
wscompile ツールのオプションは、ツールを呼び出すターゲット内で構成されます。コンテキストに応じたオプションは IDE によって設定されます。たとえば、JSR-101 Web サービスクライアント用に用意されたターゲットには、スタブ生成用にオプション (client="true") が含まれ、JSR-109 Web サービスクライアント用のターゲットには含まれません。その代わり、JSR-109 Web サービスクライアントのターゲットには、wscompile ツールで WSDL ファイルを読み込み、そこからクライアントファイルを生成するためのオプション (import="true") が含まれます(JSR-101 と JSR-109 の違いについては、ここをクリックしてください)。
次の表には、wscompile ツールでサポートされるすべてのオプション、およびそれらが IDE で生成されるデフォルトターゲットでどのようにサポートされているかを示します。
wscompile のオプション |
サービスを新規作成/ソースから作成 | サービスを WSDL から作成 | JSR-109 クライアント | JSR-101 クライアント | 説明 |
---|---|---|---|---|---|
-cp <path> | classpath =a |
classpath =a |
classpath =a |
classpath =a |
入力クラスファイルの検索場所を指定。 |
-d <dir> | base =b |
base =b |
- | - | 生成された出力ファイルの配置場所を指定。 |
-define | - | - | - | - | サービスエンドポイントインタフェースを読み込み、サービスを定義。 |
-features | featues =c |
featues =c |
featues =c |
featues =c |
指定された機能を有効にする。IDE を使用して、ドキュメント形式の Web サービス、RPC 形式の Web サービス、WSDL ファイルからの Web サービス、またはクライアントを構築するための機能を選択できます。 |
-g | - | - | - | - | デバッグ情報を生成。 |
-gen: both |
- | - | - | - | クライアントとサーバーの両方のアーティファクトを生成。 |
-gen: client |
- | - | client= "false" |
client= "true" |
「true」の場合は、クライアントアーティファクト (スタブなど) を生成。 |
-gen: server |
server= "true" |
- | - | - | 「true」の場合は、Web サービスアーティファクト (結合など) および WSDL ファイルを生成。 |
-httpproxy :<host> :<port> |
- | - | - | - | HTTP プロキシサーバーを指定。デフォルトは 8080 です。 |
-import | - | import= "true" |
import= "true" |
import= "false" |
「true」の場合は、WSDL ファイルを読み込み、サービスエンドポイントインタフェース、およびそのインタフェースを実装するクラスのテンプレートを生成。 |
-keep | keep= "true" |
keep= "true" |
keep= "true" |
keep= "true" |
「true」の場合は、生成されたファイルを保持。 |
-mapping <file> | mapping=d | mapping=d | mapping=d | mapping=d | J2EE mapping.xml ファイルを生成。 |
-model <file> | - | - | - | - | 指定されたファイルに内部モデルを書き込む。 |
-nd <dir> | nonClassDir =e |
nonClassDir =e |
- | - | WSDL ファイルの配置場所を指定。 |
-O | - | - | - | - | 生成されたコードを最適化。 |
-s <dir> | - | - | sourceBase =f |
sourceBase =f |
生成されたソースファイルの配置場所を指定。 |
-source <version> | - | - | - | - | 指定された JAX-RPC SI バージョンのコードを生成。 |
-verbose | verbose= "true" |
verbose= "true" |
verbose= "false" |
verbose= "false" |
「ture」の場合は、コンパイラの実行内容に関するメッセージを出力。 |
-version | - | - | - | - | バージョン情報を出力。 |
キー
a = ${wscompile.classpath}
b = ${build.generated.dir}/wssrc or ${build.classes.dir}
c = ${wscompile.service.webservicename-or-clientname.features}
d = ${build.web.dir}/WEB-INF/wsdl/${webservicename-or-clientname.mapping}
e = ${build.web.dir}/WEB-INF/wsdl
f = ${build.generated.dir}/wssrc
IDE を使用すると、wscompile ツールで提供される機能を設定できます。たとえば、Web サービスを構築する場合にその形式を指定できます。使用可能な機能、およびその設定方法の説明については、次の項目を参照してください。