WSO2 WS-Discovery 統合
WS-Discovery を Carbon 製品の WSO2 Governance Registry と WSO2 ESB に統合しようとしています。この WSO2 ESB は、WSO2 の Discovery Proxy (localhost:9443/services/DiscoveryProxy) に hello メッセージを送信する Tomcat で実行されている Spring を介して構成された Apache CXF Web サービス スタックを持っています。グレッグ。
そのため、Tomcat のクラスパスに cxf-services-ws-discovery-service.jar と cxf-services-ws-discovery-api.jar を追加しました。さらに、スプリング バス プロパティ org.apache.cxf.service.ws-discovery.address を WSO2 Greg 上の WS-Discovery Proxy の URL アドレスに設定して、WS-Discovery をマネージド モードで実行します。Tomcat と WSO2 Greg を実行すると、次のエラー メッセージが wso2Carbon.log に記録されます (WSO2 Greg) ...
TID: [0] [Greg] [2013-07-15 11:45:03,411] INFO {org.wso2.carbon.discovery.proxy.DiscoveryProxy} - Service Discovery Failed. Retrying after 10s. {org.wso2.carbon.discovery.proxy.DiscoveryProxy}
TID: [0] [Greg] [2013-07-15 11:45:03,458] ERROR {org.wso2.carbon.governance.api.common.GovernanceArtifactManager} - Failed to add artifact: artifact id: urn:uuid:003aa9d9-2c9f-4e0b-8415-c99632226ee3, path: /trunk/services/org/oasis_open/docs/ws_dd/ns/discovery/_2009/_01/DiscoveredService_1373881503442. An exception occurred while executing handler chain. String index out of range: -1 {org.wso2.carbon.governance.api.common.GovernanceArtifactManager}
org.wso2.carbon.registry.core.exceptions.RegistryException: An exception occurred while executing handler chain. String index out of range: -1
at org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.put(HandlerManager.java:2525)
at org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.put(HandlerLifecycleManager.java:1005)
at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.put(EmbeddedRegistry.java:697)
at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.put(CacheBackedRegistry.java:465)
at org.wso2.carbon.registry.core.session.UserRegistry.put(UserRegistry.java:658)
at org.wso2.carbon.governance.api.common.GovernanceArtifactManager.addGovernanceArtifact(GovernanceArtifactManager.java:155)
at org.wso2.carbon.governance.api.services.ServiceManager.addService(ServiceManager.java:116)
at org.wso2.carbon.discovery.util.DiscoveryServiceUtils.addService(DiscoveryServiceUtils.java:152)
at org.wso2.carbon.discovery.proxy.DiscoveryProxy$1.run(DiscoveryProxy.java:89)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at org.wso2.carbon.registry.extensions.handlers.utils.EndpointUtils.deriveEndpointFromUrl(EndpointUtils.java:674)
at org.wso2.carbon.registry.extensions.handlers.utils.EndpointUtils.saveEndpoint(EndpointUtils.java:483)
at org.wso2.carbon.registry.extensions.handlers.utils.EndpointUtils.saveEndpointsFromServices(EndpointUtils.java:280)
at org.wso2.carbon.registry.extensions.handlers.ServiceMediaTypeHandler.put(ServiceMediaTypeHandler.java:353)
at org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.put(HandlerManager.java:2503)
... 14 more
私たちは、WSO2 の製品ドキュメントを読み、いくつかのフォーラムやブログなどを検索して、この問題を解決しようと数時間試みました。残念ながら、解決策を見つけることができませんでした。
注: Tomcat の代わりに WSO2 Application Server との WS-Discovery 統合は問題なく機能しました。しかし、WSO2 ESB を検出クライアントとして使用して WSO2 Greg からサービスを検出する場合、WSO2 ESB で検出されたサービスからプロキシ サービスを作成するウィザードで、プロキシの作成後に publishWSDL xml タグが欠落しています。このタグは手動で追加する必要があります。これをさらに編集せずにこれを行う方法はありますか??
どんな助けにも感謝します。
前もって感謝します