[ 
https://issues.apache.org/jira/browse/CAMEL-24183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-24183:
--------------------------------
    Fix Version/s: 4.22.0

> camel-cxfrs - Spring rsClient producer silently drops endpoint URI options
> --------------------------------------------------------------------------
>
>                 Key: CAMEL-24183
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24183
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxfrs
>            Reporter: Federico Mariani
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 4.22.0
>
>
> *Severity:* High
> h3. Problem
> {{CxfRsSpringEndpoint.setupJAXRSClientFactoryBean}} overrides the base method 
> but never calls {{setupCommonFactoryProperties(cfb)}}:
> {code:java}
> protected void setupJAXRSClientFactoryBean(JAXRSClientFactoryBean cfb, String 
> address) {
>     configurer.configureBean(beanId, cfb);
>     getNullSafeCxfRsEndpointConfigurer().configure(cfb);
>     cfb.setAddress(address);
>     cfb.setThreadSafe(true);
> }
> {code}
> The plain {{CxfRsEndpoint.setupJAXRSClientFactoryBean}} calls 
> {{setupCommonFactoryProperties(cfb)}} (providers, features, interceptors, 
> properties, logging feature, skipFaultLogging...). 
> {{CxfRsProducer.ClientFactoryBeanCache}} goes through this method for every 
> client factory, so for a Spring {{rsClient}} those options are accepted and 
> set on the endpoint, then *silently ignored* for the producer - while 
> {{CxfRsComponent}} documents that URI query options should override Spring 
> bean config. The server path is unaffected ({{setupJAXRSServerFactoryBean}} 
> is inherited).
> h3. Impact
> {{to("cxfrs://bean://rsClient?loggingFeatureEnabled=true")}} (or 
> {{?providers=#jacksonProvider}}, {{?skipFaultLogging=true}}, interceptors, 
> {{properties.x=y}}) has no effect; the same URI against a non-Spring 
> {{cxfrs:}} endpoint works.
> h3. Location
> {{components/camel-cxf/camel-cxf-spring-rest/src/main/java/org/apache/camel/component/cxf/spring/jaxrs/CxfRsSpringEndpoint.java}}
>  ~67-74.
> h3. Fix
> Call {{setupCommonFactoryProperties(cfb)}} from the override (after 
> {{configurer.configureBean(beanId, cfb)}} so URI options win over XML), 
> matching the plain implementation's ordering.
> ----
> _Filed by Claude Code (Claude Fable) on behalf of Federico Mariani (GitHub: 
> Croway). Findings from an AI-assisted code review of the camel-cxf component 
> family; each item was verified against the current source and git history. 
> Items marked *[reproducer attached]* include a failing JUnit test that 
> demonstrates the defect._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to