この節では、カスタム コントロールのメソッドを呼び出すために、Web サービスにメソッドを挿入します。
[コントロールの選択] ダイアログでは、前に controls パッケージに作成した MailingListControl を含めて、既存のさまざまなコントロールから選択できます。
[デザイン ビュー] では、Web サービスが次のようになっているはずです。
[ソース ビュー] での Web サービス コードは次のようになります。
package services; import javax.jws.*; import org.apache.beehive.controls.api.bean.Control; import controls.MailingListControl; @WebService public class MailingListService { @Control private MailingListControl mailingListControl; @WebMethod public String getCustomers() { return "John Smith"; } }
Workshop によって、MailingListControl に必要なインポート文が追加されている点に注目します。MailingListControl
型で mailingListControl
という名前のコントロールの変数宣言も追加されています。@Control
アノテーションを追加することによって、mailingListControl
がコントロールであると宣言されています。
作成した MailingListControl のインスタンスである mailingListControl のメソッドを呼び出すメソッドを、サービスに追加します。
対応するメソッドが Web サービスのクライアント インタフェースに追加されます。
Web サービス クラスのソース コードは次のようになります。
package services; import javax.jws.*; import org.apache.beehive.controls.api.bean.Control; import controls.MailingListControl; @WebService public class MailingListService { @Control private MailingListControl mailingListControl; @WebMethod() public String getCustomers() { return "John Smith"; } @WebMethod public model.Customer[] getLocalCustomers() { return mailingListControl.getLocalCustomers(); } }
新しいメソッドはコントロール メソッド getLocalCustomers を呼び出します。このコントロール メソッドは、サンプル データベース内のカリフォルニア州のすべての顧客を Customer オブジェクトの配列として返します。
次の手順では、新しいメソッドをテストします。
チュートリアルを移動するには、矢印をクリックしてください。