Hello All,
I am trying to consume a web service as the origin of a camel route and
later on down the line invoke a web service. I have this working by just
consuming an xml message from a folder and invoking a web service, but when
I try to connect the two web services I get an error:
org.apache.camel.RuntimeCamelException: No operation found in the CXF
client, the operation is
{http://wijiscommons.org/ssaf/drop-off/}pointerUpload
at
org.apache.camel.component.cxf.CxfProducer.invokeClient(CxfProducer.java:266)
at
org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:182)
at
org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:155)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:69)
However, the service I am actually trying to call has a different namespace.
Here are the beans:
<!-- web service that I call -->
<cxf:cxfEndpoint id="pointerUploadService"
address="https://someURL:17444/xfire/PointerUpload"
serviceClass="somepackage.PointerUploadService"
endpointName="puService:PointerUploadService"
xmlns:puService="http://www.wisconsin.gov/wijis/gateway/PointerUploadService/"/>
<!-- web service that I consume -->
<cxf:cxfEndpoint id="dropoffSynchronousWebService-endpoint"
serviceClass="org.wijiscommons.ssaf.drop_off.DropOffSynchronousService"
address="/DropOffSynchronousService"
endpointName="s:DropOffSynchronousService"
serviceName="s:DropOffSynchronousService"
xmlns:s="http://wijiscommons.org/ssaf/drop-off/"
>
<cxf:inInterceptors>
<ref bean="x509Interceptor"/>
</cxf:inInterceptors>
</cxf:cxfEndpoint>
<http-conf:conduit name="*.http-conduit">
<http-conf:tlsClientParameters secureSocketProtocol="SSL">
<sec:keyManagers keyPassword="changeit">
<sec:keyStore type="JKS" password="changeit"
file="something.key"/>
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore type="JKS" password="changeit"
file="/somepath/cacerts"/>
</sec:trustManagers>
<sec:cipherSuitesFilter>
<sec:include>.*.*</sec:include>
</sec:cipherSuitesFilter>
</http-conf:tlsClientParameters>
</http-conf:conduit>
Here are the routes:
<route>
<from uri="cxf:bean:dropoffSynchronousWebService-endpoint" />
<!-- do a bunch of stuff -->
<setHeader
headerName="operationName"><constant>pointerUpload</constant></setHeader>
<to uri="cxf:bean:pointerUploadService?dataFormat=POJO" />
</route>
Note all of the above is in Camel 1.6.0 and CXF 2.1.3
When I upgrade to Camel 1.6.1 and CXF 2.2.2, I get a different error and am
unable to start my server. It looks like it tries to create the same
endpoint twice. Can anyone help me out with what I am doing wrong here? If
I take out either CXF bean, everything works fine, but ideally I would like
to hook these two services up through Camel.
INFO: Creating Service
{http://wijiscommons.org/ssaf/drop-off/}DropOffSynchronousService from class
org.wijiscommons.ssaf.drop_off.DropOffSynchronousService
Jun 11, 2009 1:41:01 PM org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /DropOffSynchronousService
Jun 11, 2009 1:41:02 PM
org.apache.cxf.service.factory.ReflectionServiceFactoryBean
buildServiceFromClass
INFO: Creating Service
{http://www.wisconsin.gov/wijis/gateway/PointerUploadService/}PointerUploadServiceService
from class
gov.wisconsin.wijis.gateway.pointeruploadservice.PointerUploadService
2009-06-11 13:41:03,141 INFO [org.apache.camel.impl.DefaultCamelContext] -
Apache Camel 1.6.1 (CamelContext:camelContext) started
2009-06-11 13:41:03,255 INFO [org.springframework.web.context.ContextLoader]
- Root WebApplicationContext: initialization completed in 9329 ms
Jun 11, 2009 1:41:03 PM org.apache.cxf.transport.servlet.CXFServlet
updateContext
INFO: Load the bus with application context
2009-06-11 13:41:03,272 INFO
[org.apache.cxf.bus.spring.BusApplicationContext] - Refreshing
org.apache.cxf.bus.spring.busapplicationcont...@fe0ce1: display name
[org.apache.cxf.bus.spring.busapplicationcont...@fe0ce1]; startup date [Thu
Jun 11 13:41:03 CDT 2009]; parent:
org.springframework.web.context.support.xmlwebapplicationcont...@1884174
Jun 11, 2009 1:41:03 PM org.apache.cxf.bus.spring.BusApplicationContext
getConfigResources
INFO: No cxf.xml configuration file detected, relying on defaults.
2009-06-11 13:41:03,290 INFO
[org.apache.cxf.bus.spring.BusApplicationContext] - Bean factory for
application context
[org.apache.cxf.bus.spring.busapplicationcont...@fe0ce1]:
org.springframework.beans.factory.support.defaultlistablebeanfact...@29d838
2009-06-11 13:41:03,290 INFO
[org.springframework.beans.factory.support.DefaultListableBeanFactory] -
Pre-instantiating singletons in
org.springframework.beans.factory.support.defaultlistablebeanfact...@29d838:
defining beans []; parent:
org.springframework.beans.factory.support.defaultlistablebeanfact...@1d03a4e
Jun 11, 2009 1:41:03 PM
org.apache.cxf.service.factory.ReflectionServiceFactoryBean
buildServiceFromClass
INFO: Creating Service
{http://wijiscommons.org/ssaf/drop-off/}DropOffSynchronousService from class
org.wijiscommons.ssaf.drop_off.DropOffSynchronousService
Jun 11, 2009 1:41:03 PM org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /DropOffSynchronousService
Jun 11, 2009 1:41:03 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.RuntimeException: Soap 1.1 endpoint already registered on address
/DropOffSynchronousService
at
org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:769)
at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122)
at
org.apache.camel.component.cxf.CxfConsumer.doStart(CxfConsumer.java:110)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:53)
at
org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:427)
at
org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:694)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:611)
at
org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:96)
at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:115)
at
org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
at
org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:276)
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:383)
at
org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
at
org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
at
org.apache.cxf.transport.servlet.CXFServlet.updateContext(CXFServlet.java:121)
at
org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:101)
at
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:70)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:79)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:992)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
--
View this message in context:
http://www.nabble.com/No-operation-found-in-the-CXF-client-tp23986700p23986700.html
Sent from the Camel - Users mailing list archive at Nabble.com.