You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Salvatore Mongiardo (Jira)" <ji...@apache.org> on 2026/10/01 14:23:00 UTC

[jira] [Created] (CAMEL-25231) camel-cxf / type-converter registry: non-deterministic source type selection for CXF payload affects xpath, xquery, validator

Salvatore Mongiardo created CAMEL-25231:
-------------------------------------------

             Summary: camel-cxf / type-converter registry: non-deterministic source type selection for CXF payload affects xpath, xquery, validator
                 Key: CAMEL-25231
                 URL: https://issues.apache.org/jira/browse/CAMEL-25231
             Project: Camel
          Issue Type: Bug
            Reporter: Salvatore Mongiardo


When a CXF payload body is consumed by XML-processing components (xpath, xquery, validator, xslt), the type-converter registry non-deterministically picks either a StAX/SAX source or a +DOMSource+ wrapping the document element. The chosen source type varies between JVM runs, meaning the same message can be processed differently depending on which converter is loaded first.

This was first observed as a trigger for the XSLT context-node bug fixed in CAMEL-25224, but the non-determinism in the registry is an independent problem: any XML consumer that receives an implicitly converted CXF payload is potentially affected by the inconsistent source selection, including:
- {{camel-xpath}}
- {{camel-xquery}}
- {{camel-validator}}

*Symptoms:*
- A CXF payload processed by xpath/xquery/validator behaves differently across JVM restarts.
- A StAX/SAX source is returned on some runs; a +DOMSource+ containing the document element (rather than the document node) is returned on others.
- The root cause is that no stable ordering or priority is enforced in the type-converter registry for the converters contributing to the +Source+ type from CXF message payloads.

*Expected behaviour:* The registry should consistently select the same converter (or a documented priority order), so that XML consumers receive a predictable source type regardless of JVM startup order.

*Related:* CAMEL-25224 (camel-xslt / camel-xslt-saxon context-node fix that was triggered by this non-determinism)

*References:* https://github.com/apache/camel/pull/27154



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