ヘッダーをスキップ
Oracle SOA Suite開発者ガイド
10g(10.1.3.1.0)
B31839-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

4.6 WebサービスとしてのセッションBeanの公開

WebサービスとしてのセッションBeanの公開は非常に簡単であり、ほとんどの手順が、JDeveloperのウィザードおよびダイアログを使用することで自動化されます。 セッションBeanに対してWebサービス・エンドポイント・インタフェースを生成(第4.4.1項「セッションBeanの作成方法」)すると、JSR-181 Webサービス・ライブラリがプロジェクトに自動的に追加され、@WebService注釈がセッションBeanに追加されます。 「Beanメソッドの詳細」ダイアログを使用してメソッドを作成(第4.4.5項「セッションBeanへの新規メソッドの追加方法」)すると、「Webサービス・エンドポイント・インタフェースによる公開」を選択した場合に、適切な注釈が追加されます。

ただし、既存のセッションBeanがある場合、またはメソッドを手動でコーディングする必要がある場合は、それも可能です。 次のコードは、Webサービス注釈を示すCustomerService.javaファイルです。

例4-10 Webサービス注釈が追加されたCustomerService.java

package org.soademo.customerservice.business;

import java.rmi.RemoteException;

import javax.ejb.Remote;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

import org.soademo.customerservice.persistence.Customer;

@WebService(serviceName = "CustomerSvc",
            targetNamespace = "http://www.globalcompany.com/ns/customer")
public interface CustomerService {

    @WebMethod
    Customer findCustomerById(
           @WebParam(name = "custid",
                     targetNamespace = "http://www.globalcompany.com/ns/customer")
                String custid) throws RemoteException;

    @WebMethod
    String getCustomerStatus(
           @WebParam(name = "CustomerID",
                     targetNamespace = "http://www.globalcompany.com/ns/customer")
                String CustomerID);

    @WebMethod
    String addNewCustomer(
           @WebParam(name = "customer",
                     targetNamespace = "http://www.globalcompany.com/ns/customer")
                Customer customer);

    @WebMethod
    Customer findCustomerByEmail(
           @WebParam(name = "email",
                     targetNamespace = "http://www.globalcompany.com/ns/customer")
                String email,
           @WebParam(name = "password",
                     targetNamespace = "http://www.globalcompany.com/ns/customer")
                String password);
}