Oracle® Fusion Middleware Oracle Event Processing開発者ガイド 11gリリース1 (11.1.1.7) for Eclipse B61654-06 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Event Processingアプリケーションからサービスを起動してOracle Event ProcessingアプリケーションをWebサービスとして公開する方法など、Oracle Event Processingで使用するためにWebサービスを構成する方法について説明します。
この章の内容は次のとおりです。
Webサービスを使用して、Oracle Event Processingアプリケーションと他のシステムを統合できます。
Oracle Event ProcessingはJAX-WS 2.0のGlassfish参照実装を使用して、JAX-WS API標準のバージョン2.0をサポートします。次のものが含まれます。
JAX-WS 2.0 (Java API for XML Web Services、JSR 224で定義)
WS-I Basic Profile 1.1
WS-I Attachments Profile 1.0 (SOAP Messages with Attachments)
WS-I Simple SOAP Binding Profile 1.0
SOAP 1.1および1.2 (Simple Object Access Protocol)
MTOM (Message Transmission Optimization Mechanism)
WSDL 1.1 (Web Services Definition Language)
JAXB 2.0 (Java API for XML Binding、個別のJAXBモジュールを介した参照)
SAAJ 1.3 (SOAP with Attachments API for Java)
このプロシージャがWebサービスを起動するOracle Event Processingアプリケーションの作成方法を説明します。このシナリオでは、Oracle Event ProcessingアプリケーションはWebサービス・クライアントです。
Oracle Event ProcessingアプリケーションからWebサービスを起動するには:
WebサービスのためにWSDLを作成または取得します。
この例ではEchoService.WSDL
というWSDLの使用を想定します。
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
など)です。
Oracle Event ProcessingアプリケーションのJARファイル内の生成された.class
ファイルをアーカイブします。
詳細は、5.7項「Oracle Event Processingプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。
Export-Package
ヘッダーを使用して、MANIFEST.MF
ファイルのクライアントコード用のWebサービスJavaパッケージをエクスポートします。
Export-Package: com.oracle.ocep.sample.echoService;
詳細は、5.7.4項「パッケージのエクスポート方法」を参照してください。
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プロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。
他のJavaアップリケーションと同様に、クライアントコードを使用して、Webサービスを起動します。
EchoService service = new EchoService(); EchoPort port = service.getEchoServicePort(); String echo = port.echo("foo");
このプロシージャは、Oracle Event ProcessingアプリケーションをWebサービスとして公開する方法を説明します。このシナリオでは、Oracle Event ProcessingアプリケーションはWebサービス・プロバイダです。
Oracle Event ProcessingアプリケーションをWebサービスとして公開するには:
WebサービスのためにWSDLを作成または取得します。
この例ではEchoService.WSDL
というWSDLの使用を想定します。
サービスを実装します。
java.jws
注釈の@WebService
および@WebMethod
の使用を考慮してください。
例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ファイルの属性
属性 | 説明 |
---|---|
|
webサービスの名前 |
|
サービスを実行するクラス |
|
WebサービスにアクセスするためのURLパターン |
|
バンドル内のwsdlへの相対パス |
|
サービスのQName |
|
ポートのQName |
詳細は、5.7項「Oracle Event Processingプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。
BEA-JAXWS-Descriptor
ヘッダーを使用して、MANIFEST.MF
ファイルにあるbea-jaxws.xml
ファイルを参照します。
BEA-JAXWS-Descriptor: META-INF/bea-jaxws.xml;
詳細は、5.7項「Oracle Event Processingプロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。
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プロジェクトにおけるライブラリと他の非クラス・ファイルの管理」を参照してください。
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>