2 Antタスク・リファレンス
WebLogic Webサービスには、構成タスクや管理タスクの多くを単一のAntビルド・スクリプトに一元化するのに使用できる様々なAntタスクが用意されています。
この章の内容は以下のとおりです。
- WebLogic WebサービスAntタスクの概要
AntはJavaベースのビルド・ツールで、make
コマンドに似ていますが、はるかに強力です。Antは、XMLベースの構成ファイル(デフォルトではbuild.xml
)を使用してJavaで記述されたタスクを実行します。 - clientgen
clientgen
Antタスクは、クライアント・アプリケーションがWebLogic Webサービスと非WebLogic Webサービスの両方の呼出しに使用できるクライアント・コンポーネント・ファイルを既存のWSDLファイルから生成します。 - wsdlc
wsdlc
Antタスクは、既存のWSDLファイルを基に、WSDLファイルで記述されたWebサービスの部分的なJava実装を提供する一連のアーティファクトを生成します。type
属性を指定することで、JAX-WSに基づいた部分的な実装を生成できます。 - wsdlget
wsdlget
Antタスクは、WSDLとそのインポートされたXMLリソースをローカル・ディレクトリにダウンロードします。
WebLogic WebサービスAntタスクの概要
make
コマンドに似たJavaベースのビルド・ツールですが、その機能ははるかに強力です。Antは、XMLベースの構成ファイル(デフォルトではbuild.xml
)を使用してJavaで記述されたタスクを実行します。 Webサービスに関する重要なアーティファクトを生成する際に、様々なAntタスクを利用できます。
Apache Webサイトでは、EAR、WAR、EJB JARファイルをパッケージ化するための他の便利なAntタスクも提供されています。http://jakarta.apache.org/ant/manual/
にあるApache Antマニュアルを参照してください。
ノート:
Apache JakartaのWebサイトでは、Antの最新バージョンに関するオンライン・ドキュメントのみを公開しています。このAntは、WebLogic Serverに同梱されているものとはバージョンが異なる可能性があります。WebLogic Serverに同梱されているAntのバージョンを判断するには、WebLogic環境の設定後、次のコマンドを実行します。
prompt> ant -version
特定のバージョンのAntのドキュメントを参照するには、http://archive.apache.org/dist/ant/binaries/
からAntのzipファイルをダウンロードして、ドキュメントを展開します。
次の表では、Oracleが提供するWebサービスAntタスクの概要について説明します。
表2-1 WebLogic WebサービスAntタスク
Antタスク | 説明 |
---|---|
|
|
WSDLファイルを基にWebサービスの部分的な実装を生成します。 |
|
WSDLとインポートされたXMLターゲット(XSDおよびWSDLファイル)をローカル・ディレクトリにダウンロードします。 |
開発環境でこれらのAntタスクを統合して使用し、Webサービス、およびWebサービスを呼び出すクライアント・アプリケーションをプログラミングする方法の詳細は、次のドキュメントを参照してください。
-
Oracle WebLogic Server WebLogic Webサービスの理解のOracle WebLogic ServerのAntタスクの使用
親トピック: Antタスク・リファレンス
clientgen
clientgen
Antタスクは、クライアント・アプリケーションがWebLogic Webサービスと非WebLogic Webサービスの両方の呼出しに使用できるクライアント・コンポーネント・ファイルを既存のWSDLファイルから生成します。
JAX-WS Webサービスに対して生成されるアーティファクトには次のものがあります。
-
呼出しの対象となる特定のWebサービスに対する
Service
インタフェース実装のJavaクラス。 -
JAXBデータ・バインディング・アーティファクト。
-
WSDLファイルで指定されたユーザー定義XMLスキーマ・データ型のJavaクラス。
次の2種類のクライアント・アプリケーションが、Webサービスを呼び出すためにclientgen
の生成されたアーティファクトを使用します。
-
Jakarta Platform, Enterprise Editionクライアント・コンテナを使用しないスタンドアロンのJakartaクライアント。
-
Jakarta EEクライアント・コンテナを使用するJakarta EEクライアント(EJB、JSP、Webサービスなど)。
JAX-WS Webサービス用のクライアント・アーティファクトを生成する場合は、type
属性をJAXWS
に設定します。例: type="JAXWS"
。
通常、clientgen
のdestDir
属性を使って、すべてのアーティファクトの生成先ディレクトリを指定してから、javac
Antタスクで生成されたJavaファイルをコンパイルします。ただし、AntタスクでJavaファイルをコンパイルし、特定のJARファイルにその他の生成アーティファクトとともにパッケージ化する場合、clientgen
のdestFile
属性を使用できます。destFile
およびdestDir
の両方を指定することはできませんが、いずれか1つを指定する必要があります。
次の項では、clientgen
Antタスクの詳細について説明します。
親トピック: Antタスク・リファレンス
Taskdefのクラス名
次のコードは、Antビルド・ファイルに記述する必要があるclientgen
クラス名のタスク定義です。
<taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" />
親トピック: clientgen
子要素
次の各項では、clientgen
AntタスクのWebLogic固有の子要素について説明します。
binding
<binding>
子要素を使用して、JAX-WSを指定します。
1つまたは複数のカスタマイズ・ファイル(JAX-WSの場合)。このファイルには、1つまたは複数の次の要素を指定します。
-
JAX-WSおよびJAXBカスタム・バインディング宣言。『Oracle WebLogic Server JAX-WS Webサービスの開発』のバインディング宣言を使用したXMLスキーマ-to-Javaマッピングのカスタマイズに関する項を参照してください。
-
SOAPハンドラ・ファイル。『Oracle WebLogic Server JAX-WS Webサービスの開発』の「SOAPメッセージ・ハンドラの作成と使用」を参照してください。
<binding>
要素を標準のAnt FileSetデータ型と同じ方法で同じ属性を使用して使用します。たとえば、次の<binding>
要素は、ファイルjaxws-binding.xml
で定義しているJAX-WSカスタム・バインディング宣言を指定します。
<binding file="./jaxws-binding.xml"/>
次の例は、${basedir}
ディレクトリにあるJAX-WSカスタマイズ・ファイルを指定します。
<binding dir="${basedir}"/>
FileSetデータ型を使用して指定できる属性のフル・セットに関する詳細は、http://ant.apache.org/index.html
で使用しているAntのバージョンのドキュメントを取得し、FileSet型の説明にナビゲートします。
親トピック: 子要素
jmstransportclient
ノート:
<jmstransportclient>
子要素はJAX-WSにのみ適用されます。
<jmstransportclient>
要素は、SOAP over JMSトランスポートを有効化して構成します。
オプションで、<jmstransportclient>
要素を使用して、宛先名、宛先タイプ、配信モード、リクエスト・キューとレスポンス・キュー、および他のJMSトランスポート・プロパティを構成できます。サポートされているJMSトランスポート・プロパティの完全な一覧は、Oracle WebLogic Server JAX-WS Webサービスの開発のJMSトランスポートのプロパティの構成を参照してください。
次の例では、clientgen
を使用してWebサービス・クライアントを生成するときに、JMSトランスポートを有効化および構成する方法を示します。
<target name="clientgen"> <clientgen wsdl="./WarehouseService.wsdl" destDir="clientclasses" packageName="client.warehouse" type="JAXWS"> <jmstransportclient targetService="JWSCEndpointService" destinationName="com.oracle.webservices.jms.SoapJmsRequestQueue" jndiInitialContextFactory="weblogic.jndi.WLInitialContextFactory" jndiConnectionFactoryName="weblogic.jms.ConnectionFactory" jndiURL="t3://localhost:7001" deliveryMode="NON_PERSISTENT" timeToLive="60000" priority="1" messageType="TEXT" replyToName="com.oracle.webservices.jms.SoapJmsResponseQueue" /> </clientgen>
親トピック: 子要素
xmlcatalog
ノート:
<xmlcatalog>
子要素はJAX-WSにのみ適用されます。
<xmlcatalog>
子要素には、組込みXMLカタログのIDを指定します。要素の構文は次のとおりです。
<xmlcatalog refid="id"/>
<xmlcatalog>
によって参照されるIDは、組込みXMLカタログのIDと一致していなければなりません。build.xml
ファイルにXMLカタログを組み込むには、次の構文を使用します。
<xmlcatalog id="id"> <entity publicid="public_id" location="uri"/> </xmlcatalog>
上の構文で、public_id
には元のXMLリソース(WSDLまたはXSD)のパブリック識別子を指定し、uri
には置換XMLリソースを指定します。
以下の例は、XMLカタログを組み込んでclientgen
を使用して参照する方法を示しています。関連するコード行はboldで示しています。
<target name="clientgen">
<clientgen
type="JAXWS"
wsdl="${wsdl}"
destDir="${clientclasses.dir}"
packageName="xmlcatalog.jaxws.clientgen.client"
catalog="wsdlcatalog.xml">
<xmlcatalog refid="wsimportcatalog"/>
</clientgen>
</target>
<xmlcatalog id="wsimportcatalog">
<entity publicid="http://helloservice.org/types/HelloTypes.xsd"
location="${basedir}/HelloTypes.xsd"/>
</xmlcatalog>
『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。
親トピック: 子要素
属性
次の表で、JAX-WS Webサービスのclientgen
AntタスクのWebLogic固有の属性について説明します。
表2-2 clientgen AntタスクのWebLogic固有の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
外部XMLカタログ・ファイルを指定します。『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。 |
String |
いいえ |
|
WSDLを、 |
ブール |
いいえ |
|
この属性は、任意のディレクトリに設定できます。ただし、EJB、JSP、または別のWebサービスからWebサービスを呼び出すクライアント・コンポーネント・ファイルを生成する場合、この属性は通常、共有クラスを保持するJava EEコンポーネントのディレクトリ(たとえば、EJBの場合は |
String |
|
|
JARファイルを作成または更新するには、 存在しないJARファイルまたはディレクトリを指定すると、 |
String |
|
|
この属性の有効な値は、 |
ブール |
いいえ |
|
|
ブール |
いいえ |
|
生成されたクライアント・インタフェースとスタブ・ファイルをパッケージ化するパッケージ名。 この属性を指定しない場合、 この属性を指定しなかった場合、パッケージ名にはすべて小文字を使用することを推奨します。 |
String |
いいえ |
|
クライアント・アーティファクトの生成対象であるWebサービスのタイプを指定します: 有効な値は |
String |
いいえ |
|
クライアント・コンポーネント・ファイルの生成が必要な(WebLogicまたは非WebLogic) Webサービスを記述するWSDLのフルパス名またはURL。 クライアントJARファイル内の生成されたスタブ・ファクトリ・クラスは、デフォルト・コンストラクタ内のこの属性の値を使用します。 |
String |
はい |
|
|
String |
いいえ |
親トピック: clientgen
例
次の例は、clientgen
Antターゲットを構築する方法を示しています。
- 例1 基本的なclientgen Antターゲットの構築
-
次の例では、サンプルの
build_client
ターゲットが実行されるときに、clientgen
は、wsdl
属性で指定されたWSDLファイルを使用して、serviceName
属性で指定されたWebサービスの呼出しに必要なクライアント側アーティファクトをすべて生成します。clientgen
Antタスクは、すべてのアーティファクトを/output/clientclasses
ディレクトリに生成します。生成されたJavaコードは、すべてmyapp.myservice.client
パッケージにあります。clientgen
が終了すると、javac
Antタスクは、clientgen
が生成したJavaコード、および生成されたアーティファクトを使用してユーザーのビジネス・コードを格納する独自のクライアント・アプリケーションのJavaコードをコンパイルします。デフォルトでは、clientgen
はJAX-WS Webサービスに基づくクライアント・アーティファクトを生成します。<taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" /> ... <target name="build_client"> <clientgen wsdl="http://example.com/myapp/myservice.wsdl" destDir="/output/clientclasses" packageName="myapp.myservice.client" serviceName="StockQuoteService" /> <javac ... /> </target>
- 例2 JAX-WS Webサービス・クライアントの生成
-
前述の例では、クライアント・アーティファクトの生成対象であるWebサービスがJAX-WSに基づいていることを前提としています。次の例では、
type
属性を使用してWebサービスがJAX-WSに基づいていることを指定する方法を示します:<clientgen type="JAXWS" wsdl="http://${wls.hostname}:${wls.port}/JaxWsImpl/JaxWsImplService?WSDL" destDir="/output/clientclasses" packageName="examples.webservices.jaxws.client" />
- 例3 生成されたアーティファクトのコンパイルとパッケージ化
-
生成されたアーティファクトを
clientgen
Antタスクでコンパイルおよびパッケージ化する場合、destDir
ではなく、destFile
属性を指定します。この例の場合、build.xml
ファイルでclientgen
の後にjavac
Antタスクを指定する必要はありません。これは、Javaコードがすでにコンパイルされているためです。<clientgen type="JAXWS" wsdl="http://example.com/myapp/myservice.wsdl" destFile="/output/jarfiles/myclient.jar" packageName="myapp.myservice.client" serviceName="StockQuoteService" />
- 例4 静的WSDLファイルに対するclientgenの実行
-
通常は、Webにデプロイされ、HTTPを使用してアクセスされるWSDLファイル上で
clientgen
Antタスクを実行します。しかし場合によっては、jwsc
Antタスクによって生成されたWARまたはJARファイルなどのアーカイブ・ファイルにパッケージ化された静的なWSDLファイル上でclientgen
を実行することが必要になります。その場合は、以下のwsdl
属性の構文を使用する必要があります。wsdl="jar:file:archive_file!WSDL_file"
ここで、
archive_file
はアーカイブ・ファイルの(カレント・ディレクトリに対して)完全なまたは相対的な名前、WSDL_file
はアーカイブ・ファイルのルート・ディレクトリに対して相対的なWSDLファイルのフルパス名を表します。次の例では、
clientgen
をSimpleService.wsdl
という静的なWSDLファイルに対して実行する方法を示しています。このWSDLファイルはSimpleImpl.war
というWARファイルのWEB-INF
ディレクトリ内にパッケージ化されています。WARファイルはbuild.xml
ファイルが格納されているディレクトリのoutput/myEAR/examples/webservices/simple
サブディレクトリにあります。<clientgen type="JAXWS" wsdl="jar:file:output/myEAR/examples/webservices/simple/SimpleImpl.war!/WEB-INF/SimpleService.wsdl" destDir="/output/clientclasses" packageName="myapp.myservice.client" />
- 例5 Javaプロパティの設定
-
標準のAnt
<sysproperty>
のネストされた要素を使用して、有効なWebLogic Serverユーザーのユーザー名およびパスワード(Webサービスに対してアクセス制御が有効化されている場合)、または信頼性のある証明書を格納するクライアント側のトラスト・ストアの名前などのJavaプロパティを設定できます。次に例を示します。<clientgen type="JAXWS" wsdl="http://example.com/myapp/mySecuredService.wsdl" destDir="/output/clientclasses" packageName="myapp.mysecuredservice.client" serviceName="SecureStockQuoteService" <sysproperty key="javax.net.ssl.trustStore" value="/keystores/DemoTrust.jks"/> <sysproperty key="weblogic.wsee.client.ssl.stricthostchecking" value="false"/> <sysproperty key="javax.xml.ws.security.auth.username" value="juliet"/> <sysproperty key="javax.xml.ws.security.auth.password" value="secret"/> </clientgen>
親トピック: clientgen
wsdlc
wsdlc
Antタスクは、既存のWSDLファイルを基に、WSDLファイルで記述されたWebサービスの部分的なJava実装を提供する一連のアーティファクトを生成します。type
属性を指定することで、JAX-WSに基づいた部分的な実装を生成できます。
デフォルトでは、wsdlc Antタスクがアーティファクトを生成する元となる<service>
要素が1つのみ
WSDLファイルに含まれるものとされます。ただし、srcServiceName
属性を使用して、複数の<service>
要素がWSDLファイル内に存在する場合に特定のWebサービスを指定するか、srcPortName
属性を使用して、複数の<port>
子要素が特定のWebサービスに対して存在する場合にWebサービスの特定のポートを指定することができます。
wsdlc
Antタスクによって、次のアーティファクトが生成されます。
-
WSDLファイルで記述されたWebサービスを実装するJWSインタフェース・ファイル(サービス・エンドポイント・インタフェース)。インタフェースには、Webサービス操作を実装する詳細なメソッド・シグネチャ、およびWebサービスのその他の側面を実装するJWSアノテーション(
@WebService
や@SOAPBinding
など)が含まれます。このファイルは変更しないでください。 -
Webサービスのパラメータと戻り値をXML表現とJava表現の間で変換するために、WebLogic Serverによって使用されるデータ・バインディング・アーティファクト。データ型のXMLスキーマはWSDLで指定され、Java表現は
wsdlc
Antタスクで生成されます。このファイルは変更しないでください。 -
生成されたJWSインタフェースの不完全な(途中まで作成済の)実装を格納したJWSファイル。このファイルを修正してビジネス・コードを追加する必要があります。
-
(オプション)生成されるJWSインタフェースのJavadoc。
wsdlc
Antタスクを実行(通常は1回のみ)したら、メソッドをビジネス要件どおりに実行するためにそのメソッドにJavaコードを追加するなどして、生成されたJWS実装ファイルを更新します。wsdlc
Antタスクは、WSDLファイルを基にWebサービスの形式を認識していますが、そのWebサービスをどのように実行するかについては認識していないので、最初は生成されたJWS実装ファイルにビジネス・ロジックは含まれていません。
JWS実装ファイルを記述するときに、JWSアノテーションを追加することもできます。ただし、以下の規則に従う必要があります。
-
JWS実装ファイルに含めることができる標準JSR-181 JWSアノテーションは、@WebService、
@HandlerChain
、@SOAPMessageHandler
、および@SOAPMessageHandlers
のみ
です。他のJWS-181 JWSアノテーションを指定した場合、JWSファイルをWebサービスにコンパイルしようとすると、jwsc
Antタスクはエラーを戻します。 -
weblogic.jws.Policy
アノテーションまたはweblogic.jws.Policies
アノテーションを使用して、JWS実装ファイル内のWebサービスにポリシーをアタッチできません。 -
また、@WebServiceアノテーションで指定できるのは、
serviceName
属性とendpointInterface
属性のみ。まれに、WSDLファイルに複数の
<service>
要素が指定されていることがあります。その場合は、serviceName
属性を使用して、wsdlc
Antタスクで使用していたものとは別の<service>
WSDL要素を指定します。wsdlc
Antタスクで生成されたJWSインタフェースを指定するには、endpointInterface
属性を使用します。 -
JAX-WS Webサービスでは、WebLogic固有のJWSアノテーションは使用できません。
-
JAX-WSに対して、必要に応じて、JAX-WS (
https://jcp.org/en/jsr/detail?id=224
の224)、JAXB (http://jcp.org/en/jsr/detail?id=222
のJSR 222)またはCommon (http://jcp.org/en/jsr/detail?id=250
のJSR 250)アノテーションを指定できます。
JWSファイルにビジネス・ロジックを追加したら、jwsc
Antタスクを実行して、Webサービスの完全なJava実装を生成します。jwsc
のcompiledWsdl
属性を使用すると、JWSインタフェース・ファイルとデータ・バインディング・アーティファクトを格納するwsdlc
Antタスクで生成されたJARファイルを指定できます。この属性を指定すると、jwsc
Antタスクは、新しいWSDLファイルを生成せず、JARファイル内の既存のWSDLファイルを使用します。そのため、Webサービスをデプロイして、そのWSDLを表示すると、デプロイされたWSDLは、ユーザーが最初に開始した時点のWSDLとほとんど変わらないように見えます。
ノート:
オリジナルのWSDLとデプロイされたWSDLの違いは、おそらくWebサービスのポートの<address>
要素のlocation
属性の値です。デプロイされたWSDLは、デプロイされたWebサービスの実際のホスト名とURIを指定しますが、これはほぼ間違いなくオリジナルのWSDLの値とは違います。この違いは、静的WSDLを基に実際のWebサービスをデプロイする際に現れると予想されます。
以下のガイドラインで説明するように、生成される複合データ型のJavaパッケージ名は、生成される部分的な実装のタイプ(JAX-WS)に応じて異なります:
-
JAX-WSの場合は、
packageName
属性を指定すると、すべてのアーティファクト(Java複合データ型、JWSインタフェース、JWSインタフェース実装)がこのパッケージに生成されます。この場合に、生成されるJava複合データ型のパッケージ名を変更するには、wsdlc
Antタスクの<binding>
子要素を使用してカスタム・バインディング宣言ファイルを指定します。カスタム・バインディング宣言ファイルの作成については、Oracle WebLogic Server JAX-WS Webサービスの開発のJAXBデータ・バインディングの使用を参照してください。 -
ただし、生成されるJava複合データ型のパッケージ名は、
packageName
属性を指定しているかどうかに関係なく、常にXSDスキーマ型のネームスペースに対応します。
jwsc
と組み合せたwsdlc
Antタスクの完全な使用例については、Oracle WebLogic Server JAX-WS Webサービスの開発のWSDLファイルからのWebサービスの作成を参照してください。
以下の項では、wsdlc
に関するその他の重要な情報について説明します。
親トピック: Antタスク・リファレンス
Taskdefのクラス名
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask"/>
親トピック: wsdlc
子要素
wsdlc
Antタスクには、次のWebLogic固有の子要素があります。
wsdlc
Antタスクで設定可能な、標準のAnt javac
タスクに関連する要素のリストについては、「 wsdlcに適用される標準のAnt javac属性」を参照してください
親トピック: wsdlc
binding
<binding>
子要素を使用して、JAX-WS Webサービスを指定します。
JAX-WSおよびJAXBカスタム・バインディング宣言を指定する1つ以上のカスタマイズ・ファイル(JAX-WSの場合)。『Oracle WebLogic Server JAX-WS Webサービスの開発』のバインディング宣言を使用したXMLスキーマ-to-Javaマッピングのカスタマイズに関する項を参照してください。
<binding>
要素は、標準のAnt <Fileset>
要素に似ており、同じ属性をすべて持ちます。指定可能な属性の完全なリストの詳細は、http://ant.apache.org/manual/Types/fileset.html
にある、Fileset要素に関するApache Antのドキュメントを参照してください。
親トピック: 子要素
xmlcatalog
<xmlcatalog>
子要素には、組込みXMLカタログのIDを指定します。要素の構文は次のとおりです。
<xmlcatalog refid="id"/>
<xmlcatalog>
によって参照されるIDは、組込みXMLカタログのIDと一致していなければなりません。build.xml
ファイルにXMLカタログを組み込むには、次の構文を使用します。
<xmlcatalog id="id"> <entity publicid="public_id" location="uri"/> </xmlcatalog>
上の構文で、public_id
には元のXMLリソース(WSDLまたはXSD)のパブリック識別子を指定し、uri
には置換XMLリソースを指定します。
以下の例は、XMLカタログを組み込んでwsdlc
を使用して参照する方法を示しています。関連するコード行はboldで示しています。
<target name="wsdlc">
<wsdlc
srcWsdl="wsdl_files/TemperatureService.wsdl"
destJwsDir="output/compiledWsdl"
destImplDir="output/impl"
packageName="examples.webservices.wsdlc"
<xmlcatalog refid="wsimportcatalog"/>
</wsdlc>
</target>
<xmlcatalog id="wsimportcatalog">
<entity publicid="http://helloservice.org/types/HelloTypes.xsd"
location="${basedir}/HelloTypes.xsd"/>
</xmlcatalog>
『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。
親トピック: 子要素
属性
次の各項の中の表で、wsdlc
Antタスクの属性について説明します。
WebLogic固有のwsdlc属性
次の表では、WebLogic固有のwsdlc属性について説明します。
表2-3 wsdlc AntタスクのWebLogic固有の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
外部XMLカタログ・ファイルを指定します。『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。 |
String |
いいえ |
|
途中まで作成済のJWS実装ファイルの生成先となるディレクトリ。 生成されたJWSファイルは、生成されたJWSインタフェース・ファイル(JARファイル内に格納)を実装します。メソッドを目的どおりに実行するようにそのメソッドにJavaコードを追加して、このJWS実装ファイルを更新し、後で |
String |
いいえ |
|
JWSインタフェースを記述するJavadocの生成先となるディレクトリ。 指定したWebサービスを実装するJWSインタフェース・ファイルを格納した、生成されたJARファイルを展開または更新することはできないので、生成されたこのJavadocからインタフェース・ファイルの詳細を入手してください。途中まで作成済のJWS実装ファイルとともにこのドキュメントを使用すると、部分的に生成されているWebサービスにビジネス・ロジックを追加できます。 |
String |
いいえ |
|
JWSインタフェース・ファイルおよびデータ・バインディング・アーティファクトを格納するJARファイルの生成先となるディレクトリ。 生成されるJARファイルの名前は |
String |
はい |
|
生成されたJWSインタフェース・ファイルおよびデータ・バインディング・アーティファクトを格納する生成済のJARファイルを、展開ディレクトリ形式にするかどうかを指定します。 この属性の有効な値は、 |
ブール |
いいえ |
|
生成されたJWSインタフェースおよび実装ファイルの生成先となるパッケージ。 この属性を指定しない場合、 |
String |
いいえ |
|
JWSインタフェース・ファイルの生成元になるWSDLポートの名前。 この属性の値は、JWSインタフェース・ファイルの生成対象のWebサービス・ポートに対応する この属性を指定しない場合、 |
String |
いいえ |
|
JWSインタフェース・ファイルの生成元になるWebサービスの名前。 この属性の値は、JWSインタフェース・ファイルの生成対象のWebサービスに対応する
この属性または |
String |
いいえ |
|
JWSインタフェースとデータ・バインディング・アーティファクトを格納するJARファイルの生成に使用するWSDLファイルの名前。 名前は、パス名(絶対パスまたはAnt |
String |
はい |
|
部分的な実装の生成対象であるWebサービスのタイプを指定します: 有効な値は |
String |
いいえ |
親トピック: 属性
wsdlcに適用される標準のAnt javac属性
WebLogic固有のwsdlc
属性の他に、次に示す標準javac
属性も定義できます。各属性の詳細は、http://ant.apache.org/manual/
にあるAntのドキュメントを参照してください。
-
bootclasspath
-
bootClasspathRef
-
classpath
-
classpathRef
-
compiler
-
debug
-
debugLevel
-
depend
-
deprecation
-
destdir
-
encoding
-
extdirs
-
failonerror
-
fork
-
includeantruntime
-
includejavaruntime
-
listfiles
-
memoryInitialSize
-
memoryMaximumSize
-
nowarn
-
optimize
-
proceed
-
source
-
sourcepath
-
sourcepathRef
-
tempdir
-
verbose
wsdlc
Antタスクでは、次の標準Ant子要素も使用できます。
-
<FileSet>
-
<SourcePath>
-
<Classpath>
-
<Extdirs>
親トピック: 属性
例
次のAnt build.xml
ファイルの一部では、wsdlc
とjwsc
の2つのAntタスクを組み合せてWebLogic Webサービスをビルドする方法を示します。ビルド・ファイルには、既存のWSDLファイルに対してwsdlc
Antタスクを実行するgenerate-from-wsdl
、およびwsdlc
Antタスクで生成されたアーティファクトからデプロイ可能なWebサービスをビルドするためにjwsc
Antタスクを実行するbuild-service
という2種類のターゲットが指定されています。
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask"/> <taskdef name="jwsc" classname="weblogic.wsee.tools.anttasks.JwscTask" /> <target name="generate-from-wsdl"> <wsdlc srcWsdl="wsdl_files/TemperatureService.wsdl" destJwsDir="output/compiledWsdl" destImplDir="output/impl" packageName="examples.webservices.wsdlc" type="JAXWS" /> </target> <target name="build-service"> <jwsc srcdir="src" destdir="output/wsdlcEar"> <jws file= "examples/webservices/wsdlc/TemperatureService_TemperaturePortTypeImpl.java" compiledWsdl="output/compiledWsdl/TemperatureService_wsdl.jar" type="JAXWS"/> </jwsc> </target>
この例では、wsdlc
Antタスクは、TemperatureService.wsdl
ファイルを入力として取り、JWSインタフェースとデータ・バインディング・アーティファクトが格納されたJARファイルをoutput/compiledWsdl
ディレクトリに生成します。JARファイル名はTemperatureService_wsdl.jar
です。このAntタスクでは、途中まで作成済のJWSインタフェースの実装を格納したJWSファイルをoutput/impl/examples/webservices/wsdlc
ディレクトリ(destImplDir
属性の値と、指定したpackageName
に対応するディレクトリ階層を組み合せたもの)に生成します。
JAX-WSの場合、途中まで作成済のJWS実装ファイルの名前は、WSDLファイルの<service>
要素とその内部の<port>
要素の名前に基づきます。たとえば、サービス名がTemperatureService
で、ポート名がTemperaturePortType
の場合、生成されたJWS実装ファイルの名前はTemperatureService_TemperaturePortTypeImpl.java
となります。
wsdlc
を実行したら、途中まで作成済のJWS実装ファイルにビジネス・ロジックを追加します。通常、このJWSファイルをwsdlc
出力ディレクトリから、アプリケーションのソース・コードを含む、より永続的なディレクトリに移動します。この例では、詳細に記述されたTemperatureService_TemperaturePortTypeImpl.java
JWSファイルはsrc/examples/webservices/wsdlc/
ディレクトリに移動しています。次に、jwsc
Antタスクを実行し、このJWSファイルを通常通りに指定します。ここで指定する必要がある唯一の追加属性がcompiledWsdl
です。この属性は、上記の例で示すようにwsdlc
Antタスクで生成されたJARファイルを指します。これは、JARファイルにコンパイルされているオリジナルのWSDLファイルを使用するので、jwsc
AntタスクでWSDLファイルを生成しないことを示します。
親トピック: wsdlc
wsdlget
wsdlget
Antタスクは、WSDLとそのインポートされたXMLリソースをローカル・ディレクトリにダウンロードします。
ダウンロード・ファイルは、アプリケーションのリモートXMLリソースをローカル・バージョンのリソースにリダイレクトするようにXMLカタログを定義し、そのカタログを参照する場合に使用することができます。
『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。
以下の項では、wsdlget
に関するその他の重要な情報について説明します。
親トピック: Antタスク・リファレンス
Taskdefのクラス名
<taskdef name="wsdlget" classname="weblogic.wsee.tools.anttasks.WsdlGetTask"/>
親トピック: wsdlget
子要素
wsdlget
Antタスクには、<xmlcatalog>
というweblogic固有の子要素があります。<xmlcatalog>
子要素には、組込みXMLカタログのIDを指定します。要素の構文は次のとおりです。
<xmlcatalog refid="id"/>
<xmlcatalog>
によって参照されるIDは、組込みXMLカタログのIDと一致していなければなりません。build.xml
ファイルにXMLカタログを組み込むには、次の構文を使用します。
<xmlcatalog id="id"> <entity publicid="public_id" location="uri"/> </xmlcatalog>
上の構文で、public_id
には元のXMLリソース(WSDLまたはXSD)のパブリック識別子を指定し、uri
には置換XMLリソースを指定します。
以下の例は、XMLカタログを組み込んでwsdlget
を使用して参照する方法を示しています。関連するコード行はboldで示しています。
<target name="wsdlget">
<wsdlget
wsdl="${wsdl}"
destDir="${wsdl.dir}"
catalog="wsdlcatalog.xml"/>
<xmlcatalog refid="wsimportcatalog"/>
</wsdlget>
</target>
<xmlcatalog id="wsimportcatalog">
<entity publicid="http://helloservice.org/types/HelloTypes.xsd"
location="${basedir}/HelloTypes.xsd"/>
</xmlcatalog>
『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。
親トピック: wsdlget
属性
次の表では、wsdlget
Antタスクの属性について説明します。
表2-4 wsdlget AntタスクのWebLogic固有の属性
属性 | 説明 | データ型 | 必須? |
---|---|---|---|
|
外部XMLカタログ・ファイルを指定します。『Oracle WebLogic Server JAX-WS Webサービスの開発』の「XMLカタログの使用」を参照してください。 |
String |
いいえ |
|
XMLリソースのコピー先のディレクトリ。 生成されたJWSファイルは、生成されたJWSインタフェース・ファイル(JARファイル内に格納)を実装します。メソッドを目的どおりに実行するようにそのメソッドにJavaコードを追加して、このJWS実装ファイルを更新し、後で |
String |
はい |
|
ローカル・ディレクトリにコピーするWSDLの名前。 |
String |
いいえ |
親トピック: wsdlget
例
次のAnt build.xml
ファイルの抜粋は、wsdlget
Antタスクを使用してWSDLとそのインポートされたXMLリソースをダウンロードする方法を示しています。XMLリソースは、Antタスクが実行されるディレクトリ内のwsdl
フォルダに保存されます。
<target name="wsdlget" <wsdlget wsdl="http://host/service?wsdl" destDir="./wsdl/" /> </target>
親トピック: wsdlget