Yeah, the behavior of the camel-1.6.1 is not right.
Please feel free to create a JIRA with it.
Since we have same unit tests with you use case in camel-1.x branch, and
they look good, please submit a test case to reproduce this issue, so I
can dig the issue sooner.

Thanks for you contribution on the wiki page.

Willem


ychawla wrote:
> Hello All,
> I solved the issue on Camel 1.6.0.  The solution was to add a header called
> operationNameSpace:
> <setHeader
> headerName="operationNameSpace"><constant>http://www.wisconsin.gov/wijis/gateway/PointerUploadService/</constant></setHeader>
> 
> This did the trick.  My assumption was that since this message went over a
> JMS queue that the header called operationNameSpace was added and took on
> the original consuming endpoint namespace of:
> operationNameSpace=http://wijiscommons.org/ssaf/drop-off/
> 
> This might have been to support Soap over JMS.  When I updated this
> operation namespace, my service worked.  I am concerned that it doesn't work
> in 1.6.1.  Should I file a JIRA about this?
> 
> I also updated the CXF WIKI page:
> http://cwiki.apache.org/confluence/display/CAMEL/CXF
> 
> I added the sentence: When you are invoking the service endpoint, you can
> set the operationName and operationNameSpace headers to explicitly state
> which operation you are calling.
> 
> Hope this is okay with Camel folks out there.
> 
> Cheers,
> Yogesh
> 
> 
> 
> ychawla wrote:
>> 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)
>>
>>
>>
> 

Reply via email to