Okay found a mistake in the cxf namespace parser - and added a fix for
correct setter on the endpoint.

Nobody really use that service factory as camel sets one out of the box.

On Wed, Dec 16, 2015 at 3:58 PM, Joseph Kampf <joseph.ka...@gmail.com> wrote:
> BTW,
>
> You should also consider removing the serviceFactory element from the XSD.  
> That is also misleading.
>
> Joe
>
>
>
>
>
> On 12/16/15, 9:29 AM, "Claus Ibsen" <claus.ib...@gmail.com> wrote:
>
>>That was a mistake in the camel cxf documentation - i am removing
>>that. Also that other xml file is not in use in an unit test and its
>>being removed as well.
>>
>>You dont need to set that service factory when using camel-cxf. Just
>>remove it from your code.
>>
>>
>>
>>On Wed, Dec 16, 2015 at 1:21 PM, Joseph Kampf <joseph.ka...@gmail.com> wrote:
>>> I am trying to specify the ServiceFactory used by my CXF Endpoint.
>>>
>>> <cxf:cxfEndpoint id="cxfBeanFromEndpoint"
>>> address="${esbservices.proxy.baseurl}/path"
>>> serviceClass="MyPortClass"
>>> endpointName="s:completePort" serviceName="s:aria_complete_api"
>>> wsdlURL="MyWsdl.wsdl"
>>> xmlns:s="myNamespace">
>>> <cxf:inInterceptors>
>>> <bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
>>> </cxf:inInterceptors>
>>> <cxf:outInterceptors>
>>> <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
>>> </cxf:outInterceptors>
>>> <cxf:serviceFactory>
>>> <bean class="org.apache.cxf.jaxws.JaxWsServerFactoryBean" />
>>> </cxf:serviceFactory>
>>> </cxf:cxfEndpoint>
>>>
>>> However I am getting the following error:
>>>
>>> karaf@root()> Exception in thread "SpringOsgiExtenderThread-50" 
>>> org.apache.camel.RuntimeCamelException: 
>>> org.apache.camel.FailedToCreateRouteException: Failed to create route 
>>> aria.esbservices.complete.soap.proxy: 
>>> Route(aria.esbservices.complete.soap.proxy)[[From[cxf:bean:a... because of 
>>> Failed to resolve endpoint: cxf://bean:cxfBeanFromEndpoint due to: Cannot 
>>> lookup: cxfBeanFromEndpoint from registry: 
>>> org.apache.camel.spring.spi.ApplicationContextRegistry@51cb33dc with 
>>> expected type: class org.apache.camel.component.cxf.CxfEndpoint due: Error 
>>> creating bean with name 'cxfBeanFromEndpoint': Error setting property 
>>> values; nested exception is 
>>> org.springframework.beans.NotWritablePropertyException: Invalid property 
>>> 'serviceFactory' of bean class 
>>> [org.apache.camel.component.cxf.CxfSpringEndpoint]: Bean property 
>>> 'serviceFactory' is not writable or has an invalid setter method. Does the 
>>> parameter type of the setter match the return type of the getter?
>>> at 
>>> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1363)
>>> at 
>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:122)
>>> at 
>>> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:318)
>>> 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:950)
>>> 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.camel.FailedToCreateRouteException: Failed to create 
>>> route aria.esbservices.complete.soap.proxy: 
>>> Route(aria.esbservices.complete.soap.proxy)[[From[cxf:bean:a... because of 
>>> Failed to resolve endpoint: cxf://bean:cxfBeanFromEndpoint due to: Cannot 
>>> lookup: cxfBeanFromEndpoint from registry: 
>>> org.apache.camel.spring.spi.ApplicationContextRegistry@51cb33dc with 
>>> expected type: class org.apache.camel.component.cxf.CxfEndpoint due: Error 
>>> creating bean with name 'cxfBeanFromEndpoint': Error setting property 
>>> values; nested exception is 
>>> org.springframework.beans.NotWritablePropertyException: Invalid property 
>>> 'serviceFactory' of bean class 
>>> [org.apache.camel.component.cxf.CxfSpringEndpoint]: Bean property 
>>> 'serviceFactory' is not writable or has an invalid setter method. Does the 
>>> parameter type of the setter match the return type of the getter?
>>> at 
>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:180)
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:780)
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2068)
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1816)
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1683)
>>> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1651)
>>> at 
>>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:254)
>>> at 
>>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:120)
>>> ... 10 more
>>> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to 
>>> resolve endpoint: cxf://bean:cxfBeanFromEndpoint due to: Cannot lookup: 
>>> cxfBeanFromEndpoint from registry: 
>>> org.apache.camel.spring.spi.ApplicationContextRegistry@51cb33dc with 
>>> expected type: class org.apache.camel.component.cxf.CxfEndpoint due: Error 
>>> creating bean with name 'cxfBeanFromEndpoint': Error setting property 
>>> values; nested exception is 
>>> org.springframework.beans.NotWritablePropertyException: Invalid property 
>>> 'serviceFactory' of bean class 
>>> [org.apache.camel.component.cxf.CxfSpringEndpoint]: Bean property 
>>> 'serviceFactory' is not writable or has an invalid setter method. Does the 
>>> parameter type of the setter match the return type of the getter?
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:534)
>>> at 
>>> org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:71)
>>> at 
>>> org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:190)
>>> at 
>>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:106)
>>> at 
>>> org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:112)
>>> at 
>>> org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
>>> at 
>>> org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
>>> at 
>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:888)
>>> at 
>>> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:175)
>>> ... 18 more
>>> Caused by: org.apache.camel.NoSuchBeanException: Cannot lookup: 
>>> cxfBeanFromEndpoint from registry: 
>>> org.apache.camel.spring.spi.ApplicationContextRegistry@51cb33dc with 
>>> expected type: class org.apache.camel.component.cxf.CxfEndpoint due: Error 
>>> creating bean with name 'cxfBeanFromEndpoint': Error setting property 
>>> values; nested exception is 
>>> org.springframework.beans.NotWritablePropertyException: Invalid property 
>>> 'serviceFactory' of bean class 
>>> [org.apache.camel.component.cxf.CxfSpringEndpoint]: Bean property 
>>> 'serviceFactory' is not writable or has an invalid setter method. Does the 
>>> parameter type of the setter match the return type of the getter?
>>> at 
>>> org.apache.camel.impl.CompositeRegistry.lookupByNameAndType(CompositeRegistry.java:62)
>>> at 
>>> org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookupByNameAndType(PropertyPlaceholderDelegateRegistry.java:63)
>>> at 
>>> org.apache.camel.util.CamelContextHelper.lookup(CamelContextHelper.java:129)
>>> at 
>>> org.apache.camel.util.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:149)
>>> at 
>>> org.apache.camel.component.cxf.CxfComponent.createEndpoint(CxfComponent.java:70)
>>> at 
>>> org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:123)
>>> at 
>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:514)
>>> ... 26 more
>>> Caused by: org.springframework.beans.factory.BeanCreationException: Error 
>>> creating bean with name 'cxfBeanFromEndpoint': Error setting property 
>>> values; nested exception is 
>>> org.springframework.beans.NotWritablePropertyException: Invalid property 
>>> 'serviceFactory' of bean class 
>>> [org.apache.camel.component.cxf.CxfSpringEndpoint]: Bean property 
>>> 'serviceFactory' is not writable or has an invalid setter method. Does the 
>>> parameter type of the setter match the return type of the getter?
>>> at 
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1455)
>>> at 
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1160)
>>> at 
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>>> at 
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
>>> at 
>>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:312)
>>> at 
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
>>> at 
>>> org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1123)
>>> at 
>>> org.apache.camel.spring.spi.ApplicationContextRegistry.lookupByNameAndType(ApplicationContextRegistry.java:47)
>>> at 
>>> org.apache.camel.impl.CompositeRegistry.lookupByNameAndType(CompositeRegistry.java:56)
>>> ... 32 more
>>> Caused by: org.springframework.beans.NotWritablePropertyException: Invalid 
>>> property 'serviceFactory' of bean class 
>>> [org.apache.camel.component.cxf.CxfSpringEndpoint]: Bean property 
>>> 'serviceFactory' is not writable or has an invalid setter method. Does the 
>>> parameter type of the setter match the return type of the getter?
>>> at 
>>> org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1044)
>>> at 
>>> org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:904)
>>> at 
>>> org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
>>> at 
>>> org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
>>> at 
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1452)
>>> ... 40 more
>>>
>>> According to the documentation at :  http://camel.apache.org/cxf   I should 
>>> be able to specify this.
>>>
>>> I also found this XML in the Camel-cxf test/resources directory:  
>>> GreeterEndpointsForProducer.xml  However I can’t seem to find a unit test 
>>> that uses it.
>>>
>>>
>>>
>>>
>>
>>
>>
>>--
>>Claus Ibsen
>>-----------------
>>http://davsclaus.com @davsclaus
>>Camel in Action 2: https://www.manning.com/ibsen2
>



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to