WebLogic Web サービス プログラマーズ ガイド
![]() |
![]() |
![]() |
![]() |
この章では、source2wsdd
の Javadoc タグについて説明します。
source2wsdd
Ant タスクは、ステートレス セッション EJB または Java クラスを使用して実装される WebLogic Web サービスの Java ソース ファイルから web-services.xml
デプロイメント記述子ファイルを生成します。web-services.xml
デプロイメント記述子ファイルには、1 つまたは複数の WebLogic Web サービスを記述する情報が入っています。この情報には、Web サービスのオペレーションを実装するバックエンド コンポーネント、パラメータおよび戻り値として使用される非組み込みデータ型、SOAP メッセージをインターセプトする SOAP メッセージ ハンドラなどの詳細情報が含まれます。他のすべてのデプロイメント記述子の場合と同様に、web-services.xml
も XML ファイルです。
この章では、source2wsdd
Ant タスクが web-services.xml
ファイルを自動的に生成するために使用する Java ソース ファイルで使用できるオプションの Javadoc タグを説明します。Java ソース ファイルに Javadoc タグがない場合、source2wsdd
Ant タスクは要素をファイルに追加するときに最適な推測を行います (Web サービスの名前やエクスポーズすべきオペレーションなど)。ただし、生成される web-services.xml
ファイルをより細かく操作する必要がある場合は、source2wsdd
Javadoc タグで Web サービスがどのようなものかを正確に指定します。
以下の 3 つの source2wsdd
Javadoc タグがあります。
各タグには、それが記述する web-services.xml
ファイルの適切な要素に対応する属性のセットがあります。
source2wsdd
Ant タスクは、@wlws:webservice
タグを使用して、生成された web-services.xml
ファイルの <web-service>
要素を設定します。
@wlws:webservice
タグは、Web サービスを実装するクラスの Javadoc で指定します。
次の例は、Java クラスをドキュメント化する Javadoc で @wlws:webservice
タグを使用する方法を示しています。
/**
* PurchaseOrderService - WebLogic Web サービスのさまざまな機能を
* 見せるサービス
*
* @wlws:webservice
* targetNamespace="http://www.bea.com/po-service/"
* name="PurchaseOrderService"
* portName="POPort"
* portTypeName="POPort"
* protocol="https"
*/
public class POService {
...
}
この例の POService
Java クラスは、PurchaseOrderService
(@wls:webservice
タグの name
属性で指定) という名前の Web サービスを実装するバックエンド コンポーネントです。Web サービスの生成された WSDL の <port>
要素と <portType>
要素は、両方とも POPort
です。クライアント アプリケーションは、デフォルトの HTTP ではなく HTTPS を使用して Web サービスにアクセスします。
次の表は、@wlws:webservice
タグのすべての属性のリストです。
source2wsdd
Ant タスクは、@wlws:operation
タグを使用して、生成された web-services.xml
ファイルの対応する <operation>
要素を設定します。
デフォルトでは、Web サービスを実装する Java クラスまたは EJB のすべてのパブリック メソッドは、生成された WSDL でオペレーションとしてエクスポーズされます。source2wsdd
Ant タスクは、メソッドの情報 (シグネチャなど) を利用して <operation>
要素を設定します。@wlws:operation
Javadoc タグを使用すると、デフォルト情報の一部 (オペレーション名など) を変更できます。@wlws:exclude タグを使用すると、パブリック メソッドが Web サービスのオペレーションとしてエクスポーズされないように設定できます。
@wlws:operation
タグは、オペレーションを実装するメソッドの Javadoc で指定します。
次の例は、メソッドをドキュメント化する Javadoc で @wlws:operatione
タグを使用する方法を示しています。
/**
* 一方向の呼び出し。 クライアントはこのメソッドの呼び出しを
* 待たない
*
* 注意 : 一方向の呼び出しには戻り値の型として void が必要
*
* @wlws:operation
* invocation-style="one-way"
* Name="sendTime"
*/
public void oneWayCall( long time ){
.....
}
この例の oneWayCall
メソッドは、sendTime
(WSDL でパブリッシュされたオペレーションの名前) という Web サービスのオペレーションを実装します。このオペレーションは一方向です。つまり、クライアント アプリケーションは戻り値を受け取りません。
次の表は、@wlws:operation
タグのすべての属性のリストです。
source2wsdd
Ant タスクは、@wlws:part
タグを利用して、生成された web-services.xml
ファイルでオペレーションのパラメータと戻り値を記述する <param>
要素と <return-param>
要素を設定します。
Web サービスを実装する Java クラスまたは EJB のすべてのパブリック メソッドは、生成された WSDL でオペレーションとしてエクスポーズされます。source2wsdd
Ant タスクは、メソッドのシグネチャの情報を使用してオペレーションのパラメータと戻り値に関する基本情報を確認します。ただし、このデフォルト情報の一部を変更する必要がある場合は、メソッドの Javadoc で @wlws:part
タグを指定します。特に、以下の場合にタグの属性を使用します。
@wlws:part
タグは、オペレーションを実装するメソッドの Javadoc で使用します。パラメータの名前は、次のようにタグの直後で属性の前に指定します。
@wlws:part paramName attribute="value"
戻り値を指定するには、次のようにハードコード化された単語 return を使用します。
@wlws:partreturn
attribute="value"
次の例は、メソッドをドキュメント化する Javadoc で @wlws:part
タグを使用する方法を示しています。
/**
* ヘッダのオペレーション
*
* @wlws:part addressInHeader location="header"
* @wlws:part dataInHeader location="header"
*
* @wlws:part return location="body"
*/
public BaseData methodWithHeaders( String addressInHeader,
int idInBody, BaseData dataInHeader ){
dataInHeader.setAddress( addressInHeader );
dataInHeader.setId( idInBody );
return dataInHeader;
}
この例では、クライアント アプリケーションが methodWithHeaders
オペレーションを呼び出すと、addressInHeader
と dataInHeader
の入力パラメータが SOAP リクエストのヘッダに配置されます。WebLogic Server がオペレーションの呼び出しに応答するときには、戻り値が SOAP 応答の本文に配置されます。
次の表は、@wlws:part
タグのすべての属性のリストです。
source2wsdd
Ant タスクでは @wlws:exclude
タグを使用して、生成された Web サービスのオペレーションのリストから Java ソース ファイルのパブリック メソッドを除外します。
デフォルトでは、Web サービスを実装する Java クラスまたは EJB のすべてのパブリック メソッドは、生成された WSDL でオペレーションとしてエクスポーズされます。パブリック メソッドをエクスポーズしない場合には、そのメソッドの Javadoc に @wlws:exclude
タグを明示的に追加する必要があります。
/**
* Web サービスのオペレーションとしてエクスポーズしないパブリック メソッド
*
* @wlws:exclude
*/
public void dontExposeThisMethod(){
}
この例では source2wsdd
は、生成された webservices.xml
ファイル内の Web サービスのオペレーションのリストに dontExposeThisMethod()
パブリック メソッドを追加しません。そのため、このメソッドは生成された WSDL ファイルにも現れません。
![]() ![]() |
![]() |
![]() |