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

Andrea Cosentino commented on CAMEL-24477:
------------------------------------------

PR: https://github.com/apache/camel/pull/25742

muteException added to CxfEndpoint, defaulting to true. Narrower than the 
sibling consumers by necessity: for a SOAP service some faults are the 
contract, so muting applies only to an undeclared failure - something on 
Exchange.getException() whose class carries no @WebFault annotation. A CXF 
Fault/SoapFault, a @WebFault-annotated exception, and a Throwable or 
<soap:Fault> CxfPayload set as the message body are all still returned in full.

Behaviour change worth noting on review: this also covers framework failures, 
so a continuationTimeout expiry no longer reports its timeout to the caller. 
CxfConsumerContinuationTimeoutTest asserts that message and now sets 
muteException=false; the upgrade guide calls it out. Kept muted for consistency 
with the family, but it is the one place where the default costs real 
diagnostic signal.

camel-cxf-soap 166/166 and a full reactor build (700 modules) are green.

Backports apply to camel-4.22.x and camel-4.18.x (same code on both, verified 
after a fetch); camel-4.14.x is EOL.

_Claude Code on behalf of oscerd_

> camel-cxf - add a muteException consumer option
> -----------------------------------------------
>
>                 Key: CAMEL-24477
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24477
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-cxf
>            Reporter: Andrea Cosentino
>            Assignee: Andrea Cosentino
>            Priority: Major
>             Fix For: 4.23.0
>
>
> CAMEL-23651 aligned the {{muteException}} consumer option so that a failed 
> exchange does not return the exception's stack trace or message to the remote 
> caller. The option exists in camel-http-common (and therefore camel-servlet 
> and camel-jetty), camel-http, camel-netty-http, camel-platform-http and 
> camel-undertow. A grep for {{muteException}} across {{components/}} still 
> shows it in the http family only.
> Split out of CAMEL-24428 so that each component can be tracked, fixed and 
> released on its own.
> {{CxfConsumer}} takes the route exception from the Camel exchange and lets it 
> reach the SOAP fault returned to the caller ({{CxfConsumer.java:414}}, 
> {{Throwable t = camelExchange.getException();}}), so the fault carries the 
> route's own exception message rather than a generic one.
> Proposal: add a {{muteException}} consumer option, defaulting to {{true}} to 
> match the post-CAMEL-23651 behaviour of the http family, with an 
> upgrade-guide entry noting that routes relying on the detail must set it to 
> {{false}} explicitly.



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

Reply via email to