This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch df2
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 660e0f38979970bd37071141cac2c97c5ab6aaae
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Aug 18 16:40:02 2025 +0200

    CAMEL-22354: dataformats - Align all data formats getter setters to model
---
 .../dataformat/soap/SoapDataFormatConfigurer.java  |  7 +++
 .../org/apache/camel/dataformat/soap/soap.json     |  4 +-
 .../camel/dataformat/soap/SoapDataFormat.java      | 23 +++-----
 .../soap/SoapSpringRoundtripTest-context.xml       |  2 +-
 .../soap12/Soap12SpringRoundtripTest-context.xml   |  2 +-
 .../org/apache/camel/model/dataformat/jaxb.json    |  2 +-
 .../org/apache/camel/model/dataformat/soap.json    |  4 +-
 .../camel/model/dataformat/JaxbDataFormat.java     | 24 ++++----
 .../camel/model/dataformat/SoapDataFormat.java     | 69 +++++++++++-----------
 .../reifier/dataformat/JaxbDataFormatReifier.java  |  2 +-
 .../reifier/dataformat/SoapDataFormatReifier.java  |  6 +-
 .../java/org/apache/camel/xml/in/ModelParser.java  |  6 +-
 .../java/org/apache/camel/xml/out/ModelWriter.java |  6 +-
 .../org/apache/camel/yaml/out/ModelWriter.java     |  6 +-
 .../ROOT/pages/camel-4x-upgrade-guide-4_15.adoc    |  3 +
 15 files changed, 86 insertions(+), 80 deletions(-)

diff --git 
a/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
 
b/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
index 4f918a687ac..6d1c2bcf1ad 100644
--- 
a/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
+++ 
b/components/camel-soap/src/generated/java/org/apache/camel/dataformat/soap/SoapDataFormatConfigurer.java
@@ -22,6 +22,7 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
     private static final Map<String, Object> ALL_OPTIONS;
     static {
         Map<String, Object> map = new CaseInsensitiveMap();
+        map.put("ElementNameStrategy", 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class);
         map.put("Version", java.lang.String.class);
         ALL_OPTIONS = map;
     }
@@ -30,6 +31,8 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
     public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
         SoapDataFormat target = (SoapDataFormat) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "elementnamestrategy":
+        case "elementNameStrategy": 
target.setElementNameStrategy(property(camelContext, 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class, value)); 
return true;
         case "version": target.setVersion(property(camelContext, 
java.lang.String.class, value)); return true;
         default: return false;
         }
@@ -43,6 +46,8 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "elementnamestrategy":
+        case "elementNameStrategy": return 
org.apache.camel.dataformat.soap.name.ElementNameStrategy.class;
         case "version": return java.lang.String.class;
         default: return null;
         }
@@ -52,6 +57,8 @@ public class SoapDataFormatConfigurer extends 
org.apache.camel.support.component
     public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
         SoapDataFormat target = (SoapDataFormat) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "elementnamestrategy":
+        case "elementNameStrategy": return target.getElementNameStrategy();
         case "version": return target.getVersion();
         default: return null;
         }
diff --git 
a/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
 
b/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
index aedada4655d..ba60298cd62 100644
--- 
a/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
+++ 
b/components/camel-soap/src/generated/resources/META-INF/org/apache/camel/dataformat/soap/soap.json
@@ -19,9 +19,9 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
id of this node" },
     "contextPath": { "index": 1, "kind": "attribute", "displayName": "Context 
Path", "group": "common", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Package name where your JAXB classes are located." },
     "encoding": { "index": 2, "kind": "attribute", "displayName": "Encoding", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To overrule and use a specific encoding" },
-    "elementNameStrategyRef": { "index": 3, "kind": "attribute", 
"displayName": "Element Name Strategy Ref", "group": "advanced", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to an element strategy to lookup from the registry. An 
element name strategy is used for two purposes. The first is to find a xml 
element name for a given object and soap action when marshali [...]
+    "elementNameStrategy": { "index": 3, "kind": "attribute", "displayName": 
"Element Name Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.dataformat.soap.name.ElementNameStrategy", "deprecated": 
false, "autowired": false, "secret": false, "description": "Refers to an 
element strategy to lookup from the registry. An element name strategy is used 
for two purposes. The first is to find a xml element name for a given ob [...]
     "version": { "index": 4, "kind": "attribute", "displayName": "Version", 
"group": "common", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "1.1", "1.2" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1.1", "description": "SOAP version 
should either be 1.1 or 1.2. Is by default 1.1" },
-    "namespacePrefixRef": { "index": 5, "kind": "attribute", "displayName": 
"Namespace Prefix Ref", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contain [...]
+    "namespacePrefix": { "index": 5, "kind": "attribute", "displayName": 
"Namespace Prefix", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.Map", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contains the desi [...]
     "schema": { "index": 6, "kind": "attribute", "displayName": "Schema", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To validate against an existing schema. Your can use the prefix 
classpath:, file: or http: to specify how the resource should be resolved. You 
can separate multiple schema files by using the ',' character." }
   }
 }
diff --git 
a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapDataFormat.java
 
b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapDataFormat.java
index 512829f1cfa..887514f94e8 100644
--- 
a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapDataFormat.java
+++ 
b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapDataFormat.java
@@ -35,6 +35,7 @@ import org.apache.camel.converter.jaxb.JaxbDataFormat;
 import org.apache.camel.dataformat.soap.name.ElementNameStrategy;
 import org.apache.camel.dataformat.soap.name.ServiceInterfaceStrategy;
 import org.apache.camel.dataformat.soap.name.TypeNameStrategy;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Dataformat;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -45,6 +46,7 @@ import static 
org.apache.camel.dataformat.soap.SoapConstants.SOAP_METHOD_NAME;
  * Data format supporting SOAP 1.1 and 1.2.
  */
 @Dataformat("soap")
+@Metadata(excludeProperties = 
"library,instanceClass,contentTypeFormat,defaultInstance")
 public class SoapDataFormat extends JaxbDataFormat {
 
     public static final String SOAP_UNMARSHALLED_HEADER_LIST = 
"org.apache.camel.dataformat.soap.UNMARSHALLED_HEADER_LIST";
@@ -52,7 +54,7 @@ public class SoapDataFormat extends JaxbDataFormat {
     private static final Logger LOG = 
LoggerFactory.getLogger(SoapDataFormat.class);
 
     private SoapDataFormatAdapter adapter;
-    private ElementNameStrategy elementNameStrategy = new TypeNameStrategy();
+    private ElementNameStrategy elementNameStrategy;
     private boolean ignoreUnmarshalledHeaders;
     private String version;
 
@@ -85,6 +87,9 @@ public class SoapDataFormat extends JaxbDataFormat {
 
     @Override
     protected void doStart() throws Exception {
+        if (elementNameStrategy == null) {
+            elementNameStrategy = new TypeNameStrategy();
+        }
         if ("1.2".equals(version)) {
             LOG.debug("Using SOAP 1.2 adapter");
             adapter = new Soap12DataFormatAdapter(this);
@@ -137,12 +142,10 @@ public class SoapDataFormat extends JaxbDataFormat {
 
     @SuppressWarnings({ "rawtypes", "unchecked" })
     private JAXBElement<?> getElement(Object fromObj, QName name) {
-
-        Object value = null;
+        Object value;
 
         // In the case of a parameter, the class of the value of the holder 
class
         // is used for the mapping rather than the holder class itself.
-
         if (fromObj instanceof jakarta.xml.ws.Holder) {
             jakarta.xml.ws.Holder holder = (jakarta.xml.ws.Holder) fromObj;
             value = holder.value;
@@ -214,16 +217,8 @@ public class SoapDataFormat extends JaxbDataFormat {
         return elementNameStrategy;
     }
 
-    public void setElementNameStrategy(Object nameStrategy) {
-        if (nameStrategy != null) {
-            if (nameStrategy instanceof ElementNameStrategy) {
-                this.elementNameStrategy = (ElementNameStrategy) nameStrategy;
-            } else {
-                throw new IllegalArgumentException(
-                        "The argument for setElementNameStrategy should be 
subClass of "
-                                                   + 
ElementNameStrategy.class.getName());
-            }
-        }
+    public void setElementNameStrategy(ElementNameStrategy nameStrategy) {
+        this.elementNameStrategy = nameStrategy;
     }
 
     public boolean isIgnoreUnmarshalledHeaders() {
diff --git 
a/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap/SoapSpringRoundtripTest-context.xml
 
b/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap/SoapSpringRoundtripTest-context.xml
index 1565a3e0ffe..fd734571de0 100644
--- 
a/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap/SoapSpringRoundtripTest-context.xml
+++ 
b/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap/SoapSpringRoundtripTest-context.xml
@@ -35,7 +35,7 @@
         
         <!-- we define the soap jaxb data formats -->
         <dataFormats>
-            <soap id="soap" contextPath="com.example.customerservice" 
elementNameStrategyRef="myNameStrategy"
+            <soap id="soap" contextPath="com.example.customerservice" 
elementNameStrategy="myNameStrategy"
              
schema="classpath:org/apache/camel/dataformat/soap/CustomerService.xsd,classpath:soap.xsd"/>
         </dataFormats>
 
diff --git 
a/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap12/Soap12SpringRoundtripTest-context.xml
 
b/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap12/Soap12SpringRoundtripTest-context.xml
index 999988dc173..32b2617085c 100644
--- 
a/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap12/Soap12SpringRoundtripTest-context.xml
+++ 
b/components/camel-soap/src/test/resources/org/apache/camel/dataformat/soap12/Soap12SpringRoundtripTest-context.xml
@@ -35,7 +35,7 @@
         
         <!-- we define the soap 1.2 jaxb data formats -->
         <dataFormats>
-            <soap id="soap" version="1.2" 
contextPath="com.example.customerservice" 
elementNameStrategyRef="myNameStrategy"/>
+            <soap id="soap" version="1.2" 
contextPath="com.example.customerservice" elementNameStrategy="myNameStrategy"/>
         </dataFormats>
 
         <route>
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json
index d1e727e3b76..7f766e73166 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/jaxb.json
@@ -27,7 +27,7 @@
     "fragment": { "index": 11, "kind": "attribute", "displayName": "Fragment", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "To turn on marshalling 
XML fragment trees. By default JAXB looks for XmlRootElement annotation on 
given class to operate on whole XML tree. This is useful but not always - 
sometimes generated code does n [...]
     "partClass": { "index": 12, "kind": "attribute", "displayName": "Part 
Class", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Name of class used for fragment 
parsing. See more details at the fragment option." },
     "partNamespace": { "index": 13, "kind": "attribute", "displayName": "Part 
Namespace", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "XML namespace to use for 
fragment parsing. See more details at the fragment option." },
-    "namespacePrefixRef": { "index": 14, "kind": "attribute", "displayName": 
"Namespace Prefix Ref", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contai [...]
+    "namespacePrefix": { "index": 14, "kind": "attribute", "displayName": 
"Namespace Prefix", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.Map", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatically assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contains the [...]
     "xmlStreamWriterWrapper": { "index": 15, "kind": "attribute", 
"displayName": "Xml Stream Writer Wrapper", "group": "advanced", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To use a custom xml stream writer." },
     "schemaLocation": { "index": 16, "kind": "attribute", "displayName": 
"Schema Location", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "To define the location of the schema" },
     "noNamespaceSchemaLocation": { "index": 17, "kind": "attribute", 
"displayName": "No Namespace Schema Location", "group": "advanced", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To define the location of the namespaceless schema" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
index 1d0112de3b4..c66286a1550 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/soap.json
@@ -16,9 +16,9 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
id of this node" },
     "contextPath": { "index": 1, "kind": "attribute", "displayName": "Context 
Path", "group": "common", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Package name where your JAXB classes are located." },
     "encoding": { "index": 2, "kind": "attribute", "displayName": "Encoding", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To overrule and use a specific encoding" },
-    "elementNameStrategyRef": { "index": 3, "kind": "attribute", 
"displayName": "Element Name Strategy Ref", "group": "advanced", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to an element strategy to lookup from the registry. An 
element name strategy is used for two purposes. The first is to find a xml 
element name for a given object and soap action when marshali [...]
+    "elementNameStrategy": { "index": 3, "kind": "attribute", "displayName": 
"Element Name Strategy", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.dataformat.soap.name.ElementNameStrategy", "deprecated": 
false, "autowired": false, "secret": false, "description": "Refers to an 
element strategy to lookup from the registry. An element name strategy is used 
for two purposes. The first is to find a xml element name for a given ob [...]
     "version": { "index": 4, "kind": "attribute", "displayName": "Version", 
"group": "common", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "1.1", "1.2" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1.1", "description": "SOAP version 
should either be 1.1 or 1.2. Is by default 1.1" },
-    "namespacePrefixRef": { "index": 5, "kind": "attribute", "displayName": 
"Namespace Prefix Ref", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contain [...]
+    "namespacePrefix": { "index": 5, "kind": "attribute", "displayName": 
"Namespace Prefix", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.Map", "deprecated": false, 
"autowired": false, "secret": false, "description": "When marshalling using 
JAXB or SOAP then the JAXB implementation will automatic assign namespace 
prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you 
to refer to a map which contains the desi [...]
     "schema": { "index": 6, "kind": "attribute", "displayName": "Schema", 
"group": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To validate against an existing schema. Your can use the prefix 
classpath:, file: or http: to specify how the resource should be resolved. You 
can separate multiple schema files by using the ',' character." }
   }
 }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
index 4aeffcee004..949be4ffcad 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/JaxbDataFormat.java
@@ -72,8 +72,8 @@ public class JaxbDataFormat extends DataFormatDefinition 
implements ContentTypeH
     @Metadata(label = "advanced")
     private String partNamespace;
     @XmlAttribute
-    @Metadata(label = "advanced")
-    private String namespacePrefixRef;
+    @Metadata(label = "advanced", javaType = "java.util.Map")
+    private String namespacePrefix;
     @XmlAttribute
     @Metadata(label = "advanced")
     private String xmlStreamWriterWrapper;
@@ -113,7 +113,7 @@ public class JaxbDataFormat extends DataFormatDefinition 
implements ContentTypeH
         this.fragment = source.fragment;
         this.partClass = source.partClass;
         this.partNamespace = source.partNamespace;
-        this.namespacePrefixRef = source.namespacePrefixRef;
+        this.namespacePrefix = source.namespacePrefix;
         this.xmlStreamWriterWrapper = source.xmlStreamWriterWrapper;
         this.schemaLocation = source.schemaLocation;
         this.noNamespaceSchemaLocation = source.noNamespaceSchemaLocation;
@@ -142,7 +142,7 @@ public class JaxbDataFormat extends DataFormatDefinition 
implements ContentTypeH
         this.fragment = builder.fragment;
         this.partClass = builder.partClass;
         this.partNamespace = builder.partNamespace;
-        this.namespacePrefixRef = builder.namespacePrefixRef;
+        this.namespacePrefix = builder.namespacePrefix;
         this.xmlStreamWriterWrapper = builder.xmlStreamWriterWrapper;
         this.schemaLocation = builder.schemaLocation;
         this.noNamespaceSchemaLocation = builder.noNamespaceSchemaLocation;
@@ -314,17 +314,17 @@ public class JaxbDataFormat extends DataFormatDefinition 
implements ContentTypeH
         this.partNamespace = partNamespace;
     }
 
-    public String getNamespacePrefixRef() {
-        return namespacePrefixRef;
+    public String getNamespacePrefix() {
+        return namespacePrefix;
     }
 
     /**
-     * When marshalling using JAXB or SOAP then the JAXB implementation will 
automatic assign namespace prefixes, such
+     * When marshalling using JAXB or SOAP then the JAXB implementation will 
automatically assign namespace prefixes, such
      * as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to 
refer to a map which contains the desired
      * mapping.
      */
-    public void setNamespacePrefixRef(String namespacePrefixRef) {
-        this.namespacePrefixRef = namespacePrefixRef;
+    public void setNamespacePrefix(String namespacePrefix) {
+        this.namespacePrefix = namespacePrefix;
     }
 
     public String getXmlStreamWriterWrapper() {
@@ -416,7 +416,7 @@ public class JaxbDataFormat extends DataFormatDefinition 
implements ContentTypeH
         private String fragment;
         private String partClass;
         private String partNamespace;
-        private String namespacePrefixRef;
+        private String namespacePrefix;
         private String xmlStreamWriterWrapper;
         private String schemaLocation;
         private String noNamespaceSchemaLocation;
@@ -624,8 +624,8 @@ public class JaxbDataFormat extends DataFormatDefinition 
implements ContentTypeH
          * prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel 
allows you to refer to a map which
          * contains the desired mapping.
          */
-        public Builder namespacePrefixRef(String namespacePrefixRef) {
-            this.namespacePrefixRef = namespacePrefixRef;
+        public Builder namespacePrefix(String namespacePrefix) {
+            this.namespacePrefix = namespacePrefix;
             return this;
         }
 
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
index b6df4c864e3..9f69c8b6cd9 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SoapDataFormat.java
@@ -34,21 +34,22 @@ import org.apache.camel.spi.Metadata;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class SoapDataFormat extends DataFormatDefinition {
 
+    @XmlTransient
+    private Object elementNameStrategyObject;
+
     @XmlAttribute(required = true)
     private String contextPath;
     @XmlAttribute
     private String encoding;
     @XmlAttribute
-    @Metadata(label = "advanced")
-    private String elementNameStrategyRef;
-    @XmlTransient
-    private Object elementNameStrategy;
+    @Metadata(label = "advanced", javaType = 
"org.apache.camel.dataformat.soap.name.ElementNameStrategy")
+    private String elementNameStrategy;
     @XmlAttribute
     @Metadata(defaultValue = "1.1", enums = "1.1,1.2")
     private String version;
     @XmlAttribute
-    @Metadata(label = "advanced")
-    private String namespacePrefixRef;
+    @Metadata(label = "advanced", javaType = "java.util.Map")
+    private String namespacePrefix;
     @XmlAttribute
     private String schema;
 
@@ -60,10 +61,10 @@ public class SoapDataFormat extends DataFormatDefinition {
         super(source);
         this.contextPath = source.contextPath;
         this.encoding = source.encoding;
-        this.elementNameStrategyRef = source.elementNameStrategyRef;
         this.elementNameStrategy = source.elementNameStrategy;
+        this.elementNameStrategyObject = source.elementNameStrategyObject;
         this.version = source.version;
-        this.namespacePrefixRef = source.namespacePrefixRef;
+        this.namespacePrefix = source.namespacePrefix;
         this.schema = source.schema;
     }
 
@@ -75,23 +76,23 @@ public class SoapDataFormat extends DataFormatDefinition {
     public SoapDataFormat(String contextPath, String elementNameStrategyRef) {
         this();
         setContextPath(contextPath);
-        setElementNameStrategyRef(elementNameStrategyRef);
+        setElementNameStrategy(elementNameStrategyRef);
     }
 
-    public SoapDataFormat(String contextPath, Object elementNameStrategy) {
+    public SoapDataFormat(String contextPath, Object 
elementNameStrategyObject) {
         this();
         setContextPath(contextPath);
-        setElementNameStrategy(elementNameStrategy);
+        setElementNameStrategyObject(elementNameStrategyObject);
     }
 
     private SoapDataFormat(Builder builder) {
         this();
         this.contextPath = builder.contextPath;
         this.encoding = builder.encoding;
-        this.elementNameStrategyRef = builder.elementNameStrategyRef;
         this.elementNameStrategy = builder.elementNameStrategy;
+        this.elementNameStrategyObject = builder.elementNameStrategyObject;
         this.version = builder.version;
-        this.namespacePrefixRef = builder.namespacePrefixRef;
+        this.namespacePrefix = builder.namespacePrefix;
         this.schema = builder.schema;
     }
 
@@ -141,12 +142,12 @@ public class SoapDataFormat extends DataFormatDefinition {
      * use the ServiceInterfaceStrategy. In the case you have no annotated 
service interface you should use
      * QNameStrategy or TypeNameStrategy.
      */
-    public void setElementNameStrategyRef(String elementNameStrategyRef) {
-        this.elementNameStrategyRef = elementNameStrategyRef;
+    public void setElementNameStrategy(String elementNameStrategy) {
+        this.elementNameStrategy = elementNameStrategy;
     }
 
-    public String getElementNameStrategyRef() {
-        return elementNameStrategyRef;
+    public String getElementNameStrategy() {
+        return elementNameStrategy;
     }
 
     public String getVersion() {
@@ -181,16 +182,16 @@ public class SoapDataFormat extends DataFormatDefinition {
      * use the ServiceInterfaceStrategy. In the case you have no annotated 
service interface you should use
      * QNameStrategy or TypeNameStrategy.
      */
-    public void setElementNameStrategy(Object elementNameStrategy) {
-        this.elementNameStrategy = elementNameStrategy;
+    public void setElementNameStrategyObject(Object elementNameStrategyObject) 
{
+        this.elementNameStrategyObject = elementNameStrategyObject;
     }
 
-    public Object getElementNameStrategy() {
-        return elementNameStrategy;
+    public Object getElementNameStrategyObject() {
+        return elementNameStrategyObject;
     }
 
-    public String getNamespacePrefixRef() {
-        return namespacePrefixRef;
+    public String getNamespacePrefix() {
+        return namespacePrefix;
     }
 
     /**
@@ -198,8 +199,8 @@ public class SoapDataFormat extends DataFormatDefinition {
      * as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to 
refer to a map which contains the desired
      * mapping.
      */
-    public void setNamespacePrefixRef(String namespacePrefixRef) {
-        this.namespacePrefixRef = namespacePrefixRef;
+    public void setNamespacePrefix(String namespacePrefix) {
+        this.namespacePrefix = namespacePrefix;
     }
 
     public String getSchema() {
@@ -222,10 +223,10 @@ public class SoapDataFormat extends DataFormatDefinition {
 
         private String contextPath;
         private String encoding;
-        private String elementNameStrategyRef;
-        private Object elementNameStrategy;
+        private String elementNameStrategy;
+        private Object elementNameStrategyObject;
         private String version;
-        private String namespacePrefixRef;
+        private String namespacePrefix;
         private String schema;
 
         /**
@@ -263,8 +264,8 @@ public class SoapDataFormat extends DataFormatDefinition {
          * want to use the ServiceInterfaceStrategy. In the case you have no 
annotated service interface you should use
          * QNameStrategy or TypeNameStrategy.
          */
-        public Builder elementNameStrategyRef(String elementNameStrategyRef) {
-            this.elementNameStrategyRef = elementNameStrategyRef;
+        public Builder elementNameStrategy(String elementNameStrategy) {
+            this.elementNameStrategy = elementNameStrategy;
             return this;
         }
 
@@ -297,8 +298,8 @@ public class SoapDataFormat extends DataFormatDefinition {
          * want to use the ServiceInterfaceStrategy. In the case you have no 
annotated service interface you should use
          * QNameStrategy or TypeNameStrategy.
          */
-        public Builder elementNameStrategy(Object elementNameStrategy) {
-            this.elementNameStrategy = elementNameStrategy;
+        public Builder elementNameStrategyObject(Object 
elementNameStrategyObject) {
+            this.elementNameStrategyObject = elementNameStrategyObject;
             return this;
         }
 
@@ -307,8 +308,8 @@ public class SoapDataFormat extends DataFormatDefinition {
          * such as ns2, ns3, ns4 etc. To control this mapping, Camel allows 
you to refer to a map which contains the
          * desired mapping.
          */
-        public Builder namespacePrefixRef(String namespacePrefixRef) {
-            this.namespacePrefixRef = namespacePrefixRef;
+        public Builder namespacePrefix(String namespacePrefix) {
+            this.namespacePrefix = namespacePrefix;
             return this;
         }
 
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
index 7ac3561b279..7bd50abbdf0 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/JaxbDataFormatReifier.java
@@ -41,7 +41,7 @@ public class JaxbDataFormatReifier extends 
DataFormatReifier<JaxbDataFormat> {
         properties.put("partClass", definition.getPartClass());
         properties.put("partNamespace", definition.getPartNamespace());
         properties.put("encoding", definition.getEncoding());
-        properties.put("namespacePrefix", 
asRef(definition.getNamespacePrefixRef()));
+        properties.put("namespacePrefix", 
asRef(definition.getNamespacePrefix()));
         properties.put("schema", definition.getSchema());
         properties.put("schemaSeverityLevel", 
definition.getSchemaSeverityLevel());
         properties.put("xmlStreamWriterWrapper", 
definition.getXmlStreamWriterWrapper());
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/SoapDataFormatReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/SoapDataFormatReifier.java
index b7ff862db86..062d3e5348d 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/SoapDataFormatReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/SoapDataFormatReifier.java
@@ -30,11 +30,11 @@ public class SoapDataFormatReifier extends 
DataFormatReifier<SoapDataFormat> {
 
     @Override
     protected void prepareDataFormatConfig(Map<String, Object> properties) {
-        properties.put("elementNameStrategy", 
or(definition.getElementNameStrategy(),
-                asRef(definition.getElementNameStrategyRef())));
+        properties.put("elementNameStrategy", 
or(definition.getElementNameStrategyObject(),
+                asRef(definition.getElementNameStrategy())));
         properties.put("encoding", definition.getEncoding());
         properties.put("version", definition.getVersion());
-        properties.put("namespacePrefix", 
asRef(definition.getNamespacePrefixRef()));
+        properties.put("namespacePrefix", 
asRef(definition.getNamespacePrefix()));
         properties.put("schema", definition.getSchema());
         properties.put("contextPath", definition.getContextPath());
     }
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index f976c83417c..d2f127616f3 100644
--- 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -2008,7 +2008,7 @@ public class ModelParser extends BaseParser {
                 case "ignoreJAXBElement": def.setIgnoreJAXBElement(val); yield 
true;
                 case "jaxbProviderProperties": 
def.setJaxbProviderProperties(val); yield true;
                 case "mustBeJAXBElement": def.setMustBeJAXBElement(val); yield 
true;
-                case "namespacePrefixRef": def.setNamespacePrefixRef(val); 
yield true;
+                case "namespacePrefix": def.setNamespacePrefix(val); yield 
true;
                 case "noNamespaceSchemaLocation": 
def.setNoNamespaceSchemaLocation(val); yield true;
                 case "objectFactory": def.setObjectFactory(val); yield true;
                 case "partClass": def.setPartClass(val); yield true;
@@ -2138,9 +2138,9 @@ public class ModelParser extends BaseParser {
     protected SoapDataFormat doParseSoapDataFormat() throws IOException, 
XmlPullParserException {
         return doParse(new SoapDataFormat(), (def, key, val) -> switch (key) {
                 case "contextPath": def.setContextPath(val); yield true;
-                case "elementNameStrategyRef": 
def.setElementNameStrategyRef(val); yield true;
+                case "elementNameStrategy": def.setElementNameStrategy(val); 
yield true;
                 case "encoding": def.setEncoding(val); yield true;
-                case "namespacePrefixRef": def.setNamespacePrefixRef(val); 
yield true;
+                case "namespacePrefix": def.setNamespacePrefix(val); yield 
true;
                 case "schema": def.setSchema(val); yield true;
                 case "version": def.setVersion(val); yield true;
                 default: yield identifiedTypeAttributeHandler().accept(def, 
key, val);
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index fb99ea0a39e..fafe173f5d4 100644
--- 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
+++ 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
@@ -2714,11 +2714,11 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("contextPath", def.getContextPath(), null);
         doWriteAttribute("noNamespaceSchemaLocation", 
def.getNoNamespaceSchemaLocation(), null);
         doWriteAttribute("encoding", def.getEncoding(), null);
+        doWriteAttribute("namespacePrefix", def.getNamespacePrefix(), null);
         doWriteAttribute("fragment", def.getFragment(), null);
         doWriteAttribute("filterNonXmlChars", def.getFilterNonXmlChars(), 
null);
         doWriteAttribute("mustBeJAXBElement", def.getMustBeJAXBElement(), 
null);
         doWriteAttribute("objectFactory", def.getObjectFactory(), "true");
-        doWriteAttribute("namespacePrefixRef", def.getNamespacePrefixRef(), 
null);
         doWriteAttribute("partClass", def.getPartClass(), null);
         doWriteAttribute("jaxbProviderProperties", 
def.getJaxbProviderProperties(), null);
         doWriteAttribute("partNamespace", def.getPartNamespace(), null);
@@ -2844,11 +2844,11 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteIdentifiedTypeAttributes(def);
         doWriteAttribute("schema", def.getSchema(), null);
-        doWriteAttribute("namespacePrefixRef", def.getNamespacePrefixRef(), 
null);
-        doWriteAttribute("elementNameStrategyRef", 
def.getElementNameStrategyRef(), null);
         doWriteAttribute("contextPath", def.getContextPath(), null);
         doWriteAttribute("encoding", def.getEncoding(), null);
+        doWriteAttribute("namespacePrefix", def.getNamespacePrefix(), null);
         doWriteAttribute("version", def.getVersion(), "1.1");
+        doWriteAttribute("elementNameStrategy", def.getElementNameStrategy(), 
null);
         endElement(name);
     }
     protected void doWriteSwiftMtDataFormat(String name, SwiftMtDataFormat 
def) throws IOException {
diff --git 
a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
 
b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
index 054f90cffc3..43f8f17ea8d 100644
--- 
a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
+++ 
b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
@@ -2714,11 +2714,11 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("contextPath", def.getContextPath(), null);
         doWriteAttribute("noNamespaceSchemaLocation", 
def.getNoNamespaceSchemaLocation(), null);
         doWriteAttribute("encoding", def.getEncoding(), null);
+        doWriteAttribute("namespacePrefix", def.getNamespacePrefix(), null);
         doWriteAttribute("fragment", def.getFragment(), null);
         doWriteAttribute("filterNonXmlChars", def.getFilterNonXmlChars(), 
null);
         doWriteAttribute("mustBeJAXBElement", def.getMustBeJAXBElement(), 
null);
         doWriteAttribute("objectFactory", def.getObjectFactory(), "true");
-        doWriteAttribute("namespacePrefixRef", def.getNamespacePrefixRef(), 
null);
         doWriteAttribute("partClass", def.getPartClass(), null);
         doWriteAttribute("jaxbProviderProperties", 
def.getJaxbProviderProperties(), null);
         doWriteAttribute("partNamespace", def.getPartNamespace(), null);
@@ -2844,11 +2844,11 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteIdentifiedTypeAttributes(def);
         doWriteAttribute("schema", def.getSchema(), null);
-        doWriteAttribute("namespacePrefixRef", def.getNamespacePrefixRef(), 
null);
-        doWriteAttribute("elementNameStrategyRef", 
def.getElementNameStrategyRef(), null);
         doWriteAttribute("contextPath", def.getContextPath(), null);
         doWriteAttribute("encoding", def.getEncoding(), null);
+        doWriteAttribute("namespacePrefix", def.getNamespacePrefix(), null);
         doWriteAttribute("version", def.getVersion(), "1.1");
+        doWriteAttribute("elementNameStrategy", def.getElementNameStrategy(), 
null);
         endElement(name);
     }
     protected void doWriteSwiftMtDataFormat(String name, SwiftMtDataFormat 
def) throws IOException {
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc
index f18d41664bf..61abf5bbe4c 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_15.adoc
@@ -19,6 +19,9 @@ to their implementation using reflection-free configurers. A 
few data formats ha
 |csv|formatRef|format
 |csv|formatName|format
 |flatpack|parserFactoryRef|parserFactory
+|jaxb|namespacePrefixRef|namespacePrefix
+|soap|namespacePrefixRef|namespacePrefix
+|soap|elementNameStrategyRef|elementNameStrategy
 |===
 
 And in XML DSL the csv dataformat have changed `header` from a `List<String>` 
to be a single `String`


Reply via email to