ヘッダーをスキップ
Oracle® Complex Event Processing開発者ガイド
11g リリース1 (11.1.1.4.0) for Eclipse
B61654-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

17 Webサービスの構成

Oracle CEPアプリケーション内からWebサービスを使用できます。

この章では次について説明します:

17.1 Oracle CEPとWebサービスについて

Webサービスを使用して、Oracle CEP アプリケーションと他のシステムを統合できます。

Oracle CEPはJAX-WS 2.0のGlassfish参照実装を使用して、JAX-WS API標準のバージョン2.0をサポートします。次のものが含まれます。

17.2 Oracle CEPアプリケーションからのWebサービスの起動方法

このプロシージャがWebサービスを起動するOracle CEPアプリケーションの作成方法を説明します。このシナリオでは、Oracle CEPアプリケーションはWebサービス・クライアントです。

Oracle CEPアプリケーションからWebサービスを起動するには:

  1. WebサービスのためにWSDLを作成または取得します。

    この例ではEchoService.WSDLというWSDLの使用を想定します。

  2. Webサービスの起動に使用するコンパイル済の.classファイルを生成します(実際のコマンドは1行になります)。

    java -cp OCEP_HOME_DIR/modules/com.bea.core.ws.glassfish.jaxws.tools_9.0.0.0.jar 
        com.sun.tools.ws.WsImport EchoService.WSDL
    

    ORACLE_CEP_HOMEは、Oracle CEPがインストールされているディレクトリ(/oracle_homeなど)です。

  3. Oracle CEPアプリケーションJARファイル内に生成された.classファイルをアーカイブします。

    詳細は、4.7項「Oracle CEPプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。

  4. Export-Packageヘッダーを使用して、MANIFEST.MFファイルのクライアントコード用のWebサービスJavaパッケージをエクスポートします。

    Export-Package: com.oracle.ocep.sample.echoService;
    

    詳細は、4.7.4項「パッケージのエクスポート方法」を参照してください。

  5. Import-Packageヘッダーを使用して、MANIFEST.MFファイルのOracle CEPアプリケーションに次のパッケージをインポートします。

    Import-Package: com.ctc.wstx.stax,
       com.sun.xml.bind.v2, 
       com.sun.xml.messaging.saaj.soap,
       com.sun.xml.messaging.saaj.soap.ver1_1,
       com.sun.xml.ws,
       javax.jws,
       javax.xml.bind,
       javax.xml.bind.annotation,
       javax.xml.namespace,
       javax.xml.soap,
       javax.xml.transform,
       javax.xml.transform.stream,
       javax.xml.ws,
       javax.xml.ws.spi,
       org.xml.sax,
       weblogic.xml.stax;
    

    詳細は、4.7項「Oracle CEPプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。

  6. 他のJavaアップリケーションと同様に、クライアントコードを使用して、Webサービスを起動します。

    EchoService service = new EchoService();
    EchoPort port = service.getEchoServicePort();
    String echo = port.echo("foo");
    

17.3 Oracle CEPアプリケーションをWebサービスとして公開する方法

このプロシージャは、Oracle CEPアプリケーションをWebサービスとして公開する方法を説明します。このシナリオでは、Oracle CEPアプリケーションはWebサービス・プロバイダです。

Oracle CEPアプリケーションをWebサービスとして公開するには:

  1. WebサービスのためにWSDLを作成または取得します。

    この例ではEchoService.WSDLというWSDLの使用を想定します。

  2. サービスを実装します。

    java.jws注釈の@WebServiceおよび@WebMethodの使用を考慮してください。

  3. 例17-1のように、アプリケーション・バンドルにbea-jaxws.xmlファイルを追加します。表17-1では、このファイル内の属性について説明します。

    例17-1 bea-jaxws.xmlファイル

    <endpoints>
      <endpoint>
        <name>EchoService</name>
        <implementation-class>
          com.bea.wlevs.test.echo.impl.EchoServiceImpl
        </implementation-class>
        <url-pattern>/echo</url-pattern>
        <wsdl-location>
          /META-INF/wsdl/echo.wsdl
        </wsdl-location>
        <service-name>
          {http://wsdl.oracle.com/examples/cep/echo}EchoService
        </service-name>
        <port-name>
          {http://wsdl.oracle.com/examples/cep/echo}EchoServicePort
        </port-name>
      </endpoint>
    </endpoints>
    

    表17-1 bea-jaxws.xmlファイルの属性

    属性 説明

    name

    webサービスの名前

    implementation-class

    サービスを実行するクラス

    url-pattern

    WebサービスにアクセスするためのURLパターン

    wsdl-location

    バンドル内のwsdlへの相対パス

    service-name

    サービスのQName

    port-name

    ポートのQName


    詳細は、4.7項「Oracle CEPプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。

  4. BEA-JAXWS-Descriptorヘッダーを使用して、MANIFEST.MFファイルにあるbea-jaxws.xmlファイルを参照します。

    BEA-JAXWS-Descriptor: META-INF/bea-jaxws.xml;
    

    詳細は、4.7項「Oracle CEPプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。

  5. Import-Packageヘッダーを使用して、MANIFEST.MFファイルのOracle CEPアプリケーションに次のパッケージをインポートします。

    Import-Package: com.ctc.wstx.stax,
       com.sun.xml.bind.v2,
       com.sun.xml.messaging.saaj.soap,
       com.sun.xml.ws,
       javax.jws,
       javax.xml.bind,
       javax.xml.bind.annotation,
       javax.xml.namespace,
       javax.xml.soap,
       javax.xml.transform,
       javax.xml.transform.stream,
       javax.xml.ws,
       javax.xml.ws.spi,
       org.xml.sax,
       weblogic.xml.stax;
    

    詳細は、4.7項「Oracle CEPプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。

  6. Oracle CEPドメインを表すOracle CEPサーバーDOMAIN_DIR/config/config.xmlファイルにglassfish-ws要素を追加します。DOMAIN_DIRはドメイン・ディレクトリを示します。

    <glassfish-ws>
        <name>JAXWS</name>
        <http-service-name>JettyServer</http-service-name>
    </glassfish-ws>