2016-05-13 14 views
1

WSO2 Data Service Server 3.2.2で作成したサービスにアクセスしようとしています。 WSO2 Enterprise Service Bus 4.9.0を使用します。サービス操作にアクセスするためのソースコードを生成し、WSO2 Developer Studioでメディエータプロジェクトを使用してクラスメディエータを作成しました。まず、メディエータは単に操作を呼び出し、得られた応答を印刷します。 Javaアプリケーションを介してエンドポイントにアクセスすると機能しますが、同じロジックをメディエーターに入れてESBにロードすると、次のエラーが表示されます。メディエータプロジェクトを使用してWSO2 ESBからWSO2 DSSサービスにアクセスできますが動作しません。

[2016-05-12 11:22:54,632 ]エラー - NativeWorkerPoolキャッチされない例外 javax.xml.ws.spi.FactoryFinder $ ConfigurationError:プロバイダorg.apache.cxf.jaxws.spi.ProviderImplが見つかりません。 (javax.xml.ws.spi.FactoryFinder $ 2.run(FactoryFinder。 java:130) (FactoryFinder.java:220) (ファクトリファインダー。 ws.spi.FactoryFinder.access $ 200(FactoryFinder.java:44) (javax.xml.ws.spi.FactoryFinder $ 3.run(FactoryFinder.java:211)) (FactoryFinder.java:220) (FactoryFinder.java:160)(ファクトリファインダー。ファインド)ファクトリファインダー.find(FactoryFinder.java:160):javax.xml.ws.spi (メディエータでの )。。。。 DSSMediator.getVolume(DSSMediator.java:12)mediators.DSSMediator.mediate(DSSMediator.java:22)で org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:78)で ORGで 。 apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.jav a:48) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149) at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185) at (ServerWorker.java:317) at org.apache.synapse.transport。 passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:363) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142) at org.apache.axis2.transport.base.threads.NativeWorkerPool $ 1 .run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor。 Javaの:1145) java.lang.Thread.runでjava.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) (Thread.java:745)すべての

+0

クラスメディエータと必要なすべてのjarファイルを$ ESB_HOME/repository/components/libディレクトリにコピーしましたか? –

答えて

1

、最初にフェッチしますDSSからのデータをESB経由で公開するには、クラスメディエーターは必要ありません。通常は、クラスメディエーターを使用してESBを拡張します。クラスメディエーターとあなたのユースケースの目的を教えてください。あなたは、このことを行うためにblogpost [1]を参照することができます。また、データベースドライバを$ DSS_HOME/repository/components/libディレクトリにコピーしたかどうか確認してください。

[1] http://dakshithar.blogspot.com/2014/05/entity-aggregation-with-wso2-esb-and_14.html

0

はご回答いただきありがとうございます。 私たちのユースケースでクラスメディエータを使用する考えは、サービスのオーケストレーションの途中でビジネスロジック(オペレーション)を注入することです。具体的には、あるDSSデータサービスから返されたデータを取得し、特定の計算を使用して処理し、結果を同じサービスフローに配置することができます。

関連する問題