[
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)