[ 
https://issues.apache.org/jira/browse/CAMEL-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13093648#comment-13093648
 ] 

Sergey Zhemzhitsky commented on CAMEL-4351:
-------------------------------------------

Hi Willem,

I've just tested the new functionality and the attached patch for the 
CxfEndpointBeans.xml that makes the test failed.

Here is the stacktrace
{code}
Caused by: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'myEndpoint': Error setting property
values; nested exception is 
org.springframework.beans.NotWritablePropertyException: Invalid property 
'endpointNameString' of bean class
 [org.apache.cxf.jaxws.JaxWsProxyFactoryBean]: Bean property 
'endpointNameString' 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(AbstractAutowireCapableBean
Factory.java:1361)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory
.java:1086)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.configureBean(AbstractAutowireCapableBeanFactor
y.java:314)
        at 
org.springframework.beans.factory.wiring.BeanConfigurerSupport.configureBean(BeanConfigurerSupport.java:146)
        at 
org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:151)
        at 
org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(ConfigurerImpl.java:115)
        at 
org.apache.camel.component.cxf.CxfSpringEndpoint.configure(CxfSpringEndpoint.java:225)
        at 
org.apache.camel.component.cxf.CxfSpringEndpoint.createClient(CxfSpringEndpoint.java:117)
        at 
org.apache.camel.component.cxf.CxfProducer.<init>(CxfProducer.java:71)
        at 
org.apache.camel.component.cxf.CxfEndpoint.createProducer(CxfEndpoint.java:153)
        at 
org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:377)
        ... 86 more
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid 
property 'endpointNameString' of bean class [org.apache.cxf.
jaxws.JaxWsProxyFactoryBean]: Bean property 'endpointNameString' is not 
writable or has an invalid setter method. Does the parameter ty
pe of the setter match the return type of the getter?
        at 
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1024)
        at 
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:903)
        at 
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76)
        at 
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBean
Factory.java:1358)
        ... 96 more
{code}

Properties endpointNameString, serviceNameString seem to be applied to 
ClientProxyFactoryBean, ClientFactoryBean, ServerFactoryBean, 
JaxWsServerFactoryBean, and these classes don't have such properties.

> Impossible to use placeholders in endpointName and serviceName attributes of 
> cxf:cxfEndpoint
> --------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-4351
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4351
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-cxf
>    Affects Versions: 2.7.3
>            Reporter: Sergey Zhemzhitsky
>            Assignee: Willem Jiang
>         Attachments: CxfEndpointBeans.xml.patch
>
>
> Here is how endpointName and serviceName are declared in XSD.
> {code}
> <xsd:attribute name="endpointName" type="xsd:QName" /> 
> <xsd:attribute name="serviceName" type="xsd:QName" /> 
> {code}
> So the xml parser fails to parse the following element
> {code}
> <cxf:cxfEndpoint id="service" address="${http.service.endpoint.path}" 
> wsdlURL="${http.service.wsdl.path}"
>     serviceName="${http.service.serviceName}"
>     endpointName="${http.service.portName}">
> </cxf:cxfEndpoint>
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to