ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Event Processing開発者ガイド
11gリリース1 (11.1.1.7) for Eclipse
B61654-06
  目次へ移動
目次

前
 
次
 

14 Webサービスの統合

この章では、Oracle Event Processingアプリケーションからサービスを起動してOracle Event ProcessingアプリケーションをWebサービスとして公開する方法など、Oracle Event Processingで使用するためにWebサービスを構成する方法について説明します。

この章の内容は次のとおりです。

14.1 Oracle Event ProcessingとWebサービスについて

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

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

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

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

Oracle Event Processingアプリケーションから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 Event Processingがインストールされているディレクトリ(/oracle_homeなど)です。

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

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

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

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

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

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

    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;
    

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

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

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

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

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

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

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

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

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

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

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

    例14-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>
    

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

    属性 説明

    name

    webサービスの名前

    implementation-class

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

    url-pattern

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

    wsdl-location

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

    service-name

    サービスのQName

    port-name

    ポートのQName


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

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

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

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

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

    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;
    

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

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

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