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

jamesnetherton pushed a commit to branch camel-quarkus-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git


The following commit(s) were added to refs/heads/camel-quarkus-main by this 
push:
     new 41c94cfb [camel-4.21] Fix #8691 CXF SOAP example for CAMEL-23526 
header name changes (#507)
41c94cfb is described below

commit 41c94cfb8f5263c3183b6a286b239608e8266427
Author: JiriOndrusek <[email protected]>
AuthorDate: Wed Jun 10 11:06:26 2026 +0200

    [camel-4.21] Fix #8691 CXF SOAP example for CAMEL-23526 header name changes 
(#507)
    
    * Fix #8691 CXF SOAP example for CAMEL-23526 header name changes
    
    CAMEL-23526 renamed CXF header constants to follow Camel naming conventions:
    - operationName → CamelCxfOperationName
    - operationNamespace → CamelCxfOperationNamespace
    
    * Avoid hard coding header names
    
    ---------
    
    Co-authored-by: James Netherton <[email protected]>
---
 .../main/java/org/acme/cxf/soap/pojo/PojoCxfConsumerRouteBuilder.java | 4 +++-
 .../main/java/org/acme/cxf/soap/pojo/PojoCxfProducerRouteBuilder.java | 3 +++
 cxf-soap/src/main/java/org/acme/cxf/soap/utils/CxfServerUtils.java    | 3 +++
 cxf-soap/src/main/java/org/acme/cxf/soap/wsdl/MyWsdlRouteBuilder.java | 4 +++-
 4 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfConsumerRouteBuilder.java
 
b/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfConsumerRouteBuilder.java
index dcec4cfa..c46e1ccf 100644
--- 
a/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfConsumerRouteBuilder.java
+++ 
b/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfConsumerRouteBuilder.java
@@ -23,6 +23,8 @@ import org.acme.cxf.soap.pojo.service.ContactService;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.cxf.jaxws.CxfEndpoint;
 
+import static org.acme.cxf.soap.utils.CxfServerUtils.OPERATION_NAME_HEADER;
+
 /**
  * This class demonstrate how to expose a SOAP endpoint starting from java 
classes
  */
@@ -43,6 +45,6 @@ public class PojoCxfConsumerRouteBuilder extends RouteBuilder 
{
     @Override
     public void configure() throws Exception {
         from("cxf:bean:contact")
-                
.recipientList(simple("bean:inMemoryContactService?method=${header.operationName}"));
+                .recipientList(simple("bean:inMemoryContactService?method=" + 
OPERATION_NAME_HEADER));
     }
 }
diff --git 
a/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfProducerRouteBuilder.java
 
b/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfProducerRouteBuilder.java
index 8db54754..6239b576 100644
--- 
a/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfProducerRouteBuilder.java
+++ 
b/cxf-soap/src/main/java/org/acme/cxf/soap/pojo/PojoCxfProducerRouteBuilder.java
@@ -25,6 +25,7 @@ import org.acme.cxf.soap.pojo.service.Contacts;
 import org.acme.cxf.soap.utils.CxfServerUtils;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.cxf.common.DataFormat;
+import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.component.cxf.jaxws.CxfEndpoint;
 import org.apache.camel.model.dataformat.JsonLibrary;
 import org.apache.camel.model.rest.RestBindingMode;
@@ -60,9 +61,11 @@ public class PojoCxfProducerRouteBuilder extends 
RouteBuilder {
                 .to("direct:contacts");
 
         from("direct:contact")
+                .setHeader(CxfConstants.OPERATION_NAME, constant("addContact"))
                 .to("cxf:bean:soapClientEndpointPojo");
 
         from("direct:contacts")
+                .setHeader(CxfConstants.OPERATION_NAME, 
constant("getContacts"))
                 .to("cxf:bean:soapClientEndpointPojo")
                 .convertBodyTo(Contacts.class)
                 .marshal().json(JsonLibrary.Jackson);
diff --git a/cxf-soap/src/main/java/org/acme/cxf/soap/utils/CxfServerUtils.java 
b/cxf-soap/src/main/java/org/acme/cxf/soap/utils/CxfServerUtils.java
index dec296ad..23325fa6 100644
--- a/cxf-soap/src/main/java/org/acme/cxf/soap/utils/CxfServerUtils.java
+++ b/cxf-soap/src/main/java/org/acme/cxf/soap/utils/CxfServerUtils.java
@@ -17,10 +17,13 @@
 package org.acme.cxf.soap.utils;
 
 import io.quarkus.runtime.LaunchMode;
+import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.eclipse.microprofile.config.Config;
 import org.eclipse.microprofile.config.ConfigProvider;
 
 public final class CxfServerUtils {
+    public static final String OPERATION_NAME_HEADER = 
"${header.%s}".formatted(CxfConstants.OPERATION_NAME);
+
     private CxfServerUtils() {
     }
 
diff --git 
a/cxf-soap/src/main/java/org/acme/cxf/soap/wsdl/MyWsdlRouteBuilder.java 
b/cxf-soap/src/main/java/org/acme/cxf/soap/wsdl/MyWsdlRouteBuilder.java
index 2a28ab49..7659de2e 100644
--- a/cxf-soap/src/main/java/org/acme/cxf/soap/wsdl/MyWsdlRouteBuilder.java
+++ b/cxf-soap/src/main/java/org/acme/cxf/soap/wsdl/MyWsdlRouteBuilder.java
@@ -31,6 +31,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.cxf.jaxws.CxfEndpoint;
 import org.apache.cxf.message.MessageContentsList;
 
+import static org.acme.cxf.soap.utils.CxfServerUtils.OPERATION_NAME_HEADER;
+
 /**
  * This class demonstrate how to expose a SOAP endpoint starting from a wsdl, 
using the
  * quarkus-maven-plugin:generate-code
@@ -63,7 +65,7 @@ public class MyWsdlRouteBuilder extends RouteBuilder {
     public void configure() throws Exception {
         // CustomerService is generated with 
quarkus-maven-plugin:generate-code during the build
         from("cxf:bean:customer")
-                .recipientList(simple("direct:${header.operationName}"));
+                .recipientList(simple("direct:" + OPERATION_NAME_HEADER));
 
         from("direct:getCustomersByName").process(exchange -> {
             String name = exchange.getIn().getBody(String.class);

Reply via email to