【问题标题】:Launch and endpoint inside servicemix在 servicemix 中启动和端点
【发布时间】:2013-07-19 18:32:11
【问题描述】:

我必须怎么做才能从 servicemix 中的捆绑包中调用 Endpoint.publish

我使用wsdl2java 创建了一个impl,我在BundleActivator 中启动它:

LOG.info("WSBundle registering using endpoint...");
endpointAddress = substituteParameters(endpointAddress, ref);
Endpoint endpoint = Endpoint.publish(endpointAddress, service);
myEndpoints.put(service, endpoint);
LOG.info("WSBundle registered server at: "+endpointAddress);

这在 Eclipse IDE 中运行良好,但当我在服务混合部署区域内运行包时失败。 起初失败是由于缺少以下包中的某些类:

javax.xml.ws,
javax.xml.ws.spi,
org.apache.cxf.endpoint,
org.apache.cxf.frontend,
org.apache.cxf.jaxws,
org.apache.cxf.jaxws.spi,

将这些作为导入包添加到我的清单后,我收到以下错误:

ERROR: Bundle WSExposer [187] EventDispatcher: Error during dispatch. (javax.xml.ws.spi.FactoryFinder$ConfigurationError: Provider org.apache.cxf.jaxws.spi.ProviderImpl not found)
javax.xml.ws.spi.FactoryFinder$ConfigurationError: Provider org.apache.cxf.jaxws.spi.ProviderImpl not found
    at javax.xml.ws.spi.FactoryFinder$2.run(FactoryFinder.java:133)
    at javax.xml.ws.spi.FactoryFinder.doPrivileged(FactoryFinder.java:238)
    at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:127)
    at javax.xml.ws.spi.FactoryFinder.access$200(FactoryFinder.java:44)
    at javax.xml.ws.spi.FactoryFinder$3.run(FactoryFinder.java:229)
    at javax.xml.ws.spi.FactoryFinder.doPrivileged(FactoryFinder.java:238)
    at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:163)
    at javax.xml.ws.spi.Provider.provider(Provider.java:43)
    at javax.xml.ws.Endpoint.publish(Endpoint.java:57)

我的清单文件如下:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: WSBundle
Bundle-SymbolicName: WSBundle
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: com.company.soa.wsbundle.WSExposerActivator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: com.company.product.history.filtertypes.v1,
com.company.product.system.basetypes.v1,
com.company.svc.product.event.v1,
com.company.svc.product.service.event.v1,
com.company.svc.product.service.faults.v1,
javax.xml.ws,
javax.xml.ws.spi,
org.apache.cxf.endpoint,
org.apache.cxf.frontend,
org.apache.cxf.jaxws,
org.apache.cxf.jaxws.spi,
org.osgi.framework
Export-Package: com.company.soa.wsbundle

【问题讨论】:

    标签: cxf jax-ws endpoint apache-servicemix


    【解决方案1】:

    我发现您可以切换服务组合以使用解决问题的 Equinox 框架。 在 etc/config.properties 中将 karaf.framework 更改为 eclipse: karaf.framework=Equinox

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 2018-04-17
      • 2015-02-16
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      相关资源
      最近更新 更多