CAMEL-CXF呼叫远程SOAP服务错误

时间:2016-03-28 09:34:47

标签: apache-camel cxf jbossfuse

我正在使用Camel-CXF以PAYLOAD格式(xml)调用第三方网络服务。
是不是可以使用远程wsdlURL。在部署期间,我收到此错误(OSGI包)。由于java知识有限,我宁愿坚持基于xml的方法。

卡拉夫版:2.3 骆驼版:2.12(保险丝6.1)

  1. 我的CXF终点定义(使用远程wsdl)
  2. <cxf:cxfEndpoint id="serviceEndpoint" 
        address="https://example.com/abc/extension/Service" 
        wsdlURL="https://example.com/abc/extension/Service?wsdl"
        endpointName="abc:LWPort"
        serviceName="abc:LWUpdateService"
        xmlns:abc="http://www.example.com/LW/ws/LWUpdateService">
        <cxf:properties>
          <entry key="dataFormat" value="PAYLOAD"/>
          <entry key="username" value="xxxxxxx"/>
          <entry key="password" value="xxxxxxx"/>
        </cxf:properties>        
    </cxf:cxfEndpoint>
    
    1. 路由调用Web服务
    2. <route>           
        <from uri="activemq:xxxxxxxxxxxxxx"/>
        <to uri="cxf:bean:serviceEndpoint"/>
      <route>
      

      错误讯息:

      JBossFuse:example@root> Exception in thread
      "SpringOsgiExtenderThread-7"
      org.apache.camel.FailedToCreateProducerException: 
          **Failed to create Producer for endpoint: Endpoint[cxf://bean:serviceEndpoint]. 
          Reason: org.apache.cxf.service.factory.ServiceConstructionException:** 
          No valid WSDL https://example.com/abc/extension/Service?wsdl nor service class is specified.
                  at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:409)
                  at org.apache.camel.impl.ProducerCache.acquireProducer(ProducerCache.java:123)
                  at org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:191)
                  at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:59)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:103)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:89)
                  at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:79)
                  at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:59)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:103)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:89)
                  at org.apache.camel.processor.RedeliveryErrorHandler.doStart(RedeliveryErrorHandler.java:1154)
                  at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:41)
                  at org.apache.camel.support.ChildServiceSupport.start(ChildServiceSupport.java:28)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:59)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:103)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:89)
                  at org.apache.camel.processor.interceptor.DefaultChannel.doStart(DefaultChannel.java:153)
                  at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:59)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:103)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:61)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:103)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:89)
                  at org.apache.camel.processor.MulticastProcessor.doStart(MulticastProcessor.java:994)
                  at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:59)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:103)
                  at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:89)
                  at org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:79)
                  at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
                  at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74)
                  at org.apache.camel.impl.RouteService.startChildService(RouteService.java:329)
                  at org.apache.camel.impl.RouteService.warmUp(RouteService.java:158)
                  at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:2150)
                  at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:2080)
                  at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1868)
                  at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1740)
                  at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1579)
                  at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
                  at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1547)
                  at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:221)
                  at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:118)
                  at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:303)
                  at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:96)
                  at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
                  at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:948)
                  at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
                  at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
                  at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
                  at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
                  at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)
                  at java.lang.Thread.run(Thread.java:745)
          Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
      

0 个答案:

没有答案