【问题标题】:unable to call webservice from osgi bundle无法从 osgi 包调用 web 服务
【发布时间】:2016-02-22 09:47:28
【问题描述】:

karaf 上部署osgi 捆绑包时,它正在通过jbpm 进程内部调用webservice..显示以下错误...

ERROR | Error in thread 'ActiveMQ Session Task-1'
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:143)
         at javax.xml.ws.spi.FactoryFinder.doPrivileged(FactoryFinder.java:251)
         at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:137)
         at javax.xml.ws.spi.FactoryFinder.access$300(FactoryFinder.java:44)
         at javax.xml.ws.spi.FactoryFinder$3.run(FactoryFinder.java:242)
         at javax.xml.ws.spi.FactoryFinder.doPrivileged(FactoryFinder.java:251)
         at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:173)
         at javax.xml.ws.spi.Provider.provider(Provider.java:43)
         at javax.xml.ws.Service.<init>(Service.java:35)
         at net.webservicex.GeoIPService.<init>(GeoIPService.java:42)
         at org.bt.nga.workitemhandlers.GeoIPServiceWorkItemHandler.executeWorkItem(GeoIPServiceWorkItemHandler.java:33)
         at org.drools.core.process.instance.impl.DefaultWorkItemManager.internalExecuteWorkItem(DefaultWorkItemManager.java:71)
         at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:138)
         at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173)
         at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:366)
         at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:325)
         at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:73)
         at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:44)
         at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173)
         at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
         at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:236)
         at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:439)
         at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:208)
         at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:191)
         at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:183)
         at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:1787)
         at org.bt.nga.service.api.ProcessEngineImpl.executeProcess(ProcessEngineImpl.java:48)
         at org.bt.nga.consumer.ActiveMQListener.onMessage(ActiveMQListener.java:52)
         at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1401)
         at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131)
         at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202)
         at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
         at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
         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:745)

提前感谢您的帮助

【问题讨论】:

  • 如何调用网络服务?这段代码是jbpm提供的还是你写的?
  • 这看起来不像来自 Karaf 的堆栈跟踪:未显示捆绑版本。您能否添加一些上下文,例如您使用的是哪个版本?
  • 我正在使用编写在 karaf 包中的 jbpm 进程调用 web 服务......上面是我从 karaf 获得的堆栈跟踪。我正在使用最新版本 apache-karaf-4.0.4。

标签: osgi cxf jbpm apache-karaf


【解决方案1】:

此错误表示某些包试图加载类 org.apache.cxf.jaxws.spi.ProviderImpl 但未能这样做,可能是因为缺少导入。

我不能说更多,因为问题中没有足够的信息。

【讨论】:

  • 是的,我知道,但是同一个包在 Eclipse 中运行良好,没有任何额外的导入或 jars。我认为 eclipse 已经有一些依赖 jar 来处理 web 服务,但 karaf 默认情况下没有.. 但没有得到解决这个问题所需的 jars。
  • 所以如果你有 JARs 你可以搜索这个类。
猜你喜欢
  • 2015-08-22
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-17
相关资源
最近更新 更多