This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.14.x by this push:
new 4db37d261b12 CAMEL-23759: camel-spring-ws - apply a
HeaderFilterStrategy to inbound SOAP headers (#24043)
4db37d261b12 is described below
commit 4db37d261b12de58b69af710be5ef761f0149527
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jun 16 15:43:16 2026 +0200
CAMEL-23759: camel-spring-ws - apply a HeaderFilterStrategy to inbound SOAP
headers (#24043)
The spring-ws consumer mapped inbound SOAP header element/attribute names
directly into the Camel Exchange header map. This adds a configurable
headerFilterStrategy (default SpringWebserviceHeaderFilterStrategy, filtering
the Camel*/camel* namespace case-insensitively in both directions) applied on
the inbound path, aligning camel-spring-ws with
camel-cxf/camel-mail/camel-coap. Documented as a potential breaking change in
the 4.21 upgrade guide.
Closes #24030
---
.../apache/camel/catalog/components/spring-ws.json | 45 ++++----
.../ws/SpringWebserviceEndpointConfigurer.java | 6 ++
.../ws/SpringWebserviceEndpointUriFactory.java | 3 +-
.../camel/component/spring/ws/spring-ws.json | 45 ++++----
.../spring/ws/SpringWebserviceConfiguration.java | 17 ++++
.../spring/ws/SpringWebserviceConsumer.java | 18 +++-
.../spring/ws/SpringWebserviceEndpoint.java | 14 ++-
.../ws/SpringWebserviceHeaderFilterStrategy.java | 34 +++++++
.../spring/ws/ConsumerSoapHeaderFilterTest.java | 113 +++++++++++++++++++++
.../ws/ConsumerSoapHeaderFilterTest-context.xml | 46 +++++++++
.../ROOT/pages/camel-4x-upgrade-guide-4_14.adoc | 11 ++
.../SpringWebserviceEndpointBuilderFactory.java | 108 ++++++++++++++++++++
12 files changed, 410 insertions(+), 50 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json
index b2e148f7d8d1..29ddb916d3a8 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json
@@ -43,27 +43,28 @@
"type": { "index": 0, "kind": "path", "displayName": "Type", "group":
"consumer", "label": "consumer", "required": false, "type": "enum", "javaType":
"org.apache.camel.component.spring.ws.type.EndpointMappingType", "enum": [
"ROOT_QNAME", "ACTION", "TO", "SOAP_ACTION", "XPATHRESULT", "URI", "URI_PATH",
"BEANNAME" ], "deprecated": false, "autowired": false, "secret": false,
"configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField" [...]
"lookupKey": { "index": 1, "kind": "path", "displayName": "Lookup Key",
"group": "consumer", "label": "consumer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Endpoint mapping key if
endpoint mapping is used" },
"webServiceEndpointUri": { "index": 2, "kind": "path", "displayName": "Web
Service Endpoint Uri", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "The default Web Service
endpoint uri to use for the producer." },
- "messageFilter": { "index": 3, "kind": "parameter", "displayName":
"Message Filter", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.spring.ws.filter.MessageFilter", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom MessageFilter. For example wh [...]
- "messageIdStrategy": { "index": 4, "kind": "parameter", "displayName":
"Message Id Strategy", "group": "common", "label": "common", "required": false,
"type": "object", "javaType":
"org.springframework.ws.soap.addressing.messageid.MessageIdStrategy",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom Messa [...]
- "endpointDispatcher": { "index": 5, "kind": "parameter", "displayName":
"Endpoint Dispatcher", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Spring
org.springframework.w [...]
- "endpointMapping": { "index": 6, "kind": "parameter", "displayName":
"Endpoint Mapping", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelSpringWSEndpointMapping",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Reference to an instance
of o [...]
- "expression": { "index": 7, "kind": "parameter", "displayName":
"Expression", "group": "consumer", "label": "consumer", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "The XPath expression to
use when option type=xpathresult. Then this option is required to be c [...]
- "bridgeErrorHandler": { "index": 8, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
- "exceptionHandler": { "index": 9, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By def [...]
- "exchangePattern": { "index": 10, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "enum", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
- "allowResponseAttachmentOverride": { "index": 11, "kind": "parameter",
"displayName": "Allow Response Attachment Override", "group": "producer",
"label": "producer", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response [...]
- "allowResponseHeaderOverride": { "index": 12, "kind": "parameter",
"displayName": "Allow Response Header Override", "group": "producer", "label":
"producer", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response header i [...]
- "faultAction": { "index": 13, "kind": "parameter", "displayName": "Fault
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing Fault Action header that is pro [...]
- "faultTo": { "index": 14, "kind": "parameter", "displayName": "Fault To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing FaultTo header that is provided by the
[...]
- "messageFactory": { "index": 15, "kind": "parameter", "displayName":
"Message Factory", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.WebServiceMessageFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageFactory." },
- "messageSender": { "index": 16, "kind": "parameter", "displayName":
"Message Sender", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.transport.WebServiceMessageSender", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageSe [...]
- "outputAction": { "index": 17, "kind": "parameter", "displayName": "Output
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the response WS-Addressing Action header that is provided by the met [...]
- "replyTo": { "index": 18, "kind": "parameter", "displayName": "Reply To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the replyTo response WS-Addressing ReplyTo header that is provided by the meth
[...]
- "soapAction": { "index": 19, "kind": "parameter", "displayName": "Soap
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "SOAP action to include
inside a SOAP request when accessing remote web services" },
- "timeout": { "index": 20, "kind": "parameter", "displayName": "Timeout",
"group": "producer", "label": "producer", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Sets the socket read
timeout (in milliseconds) while invoking a webservice using the producer, see
URLConnectio [...]
- "webServiceTemplate": { "index": 21, "kind": "parameter", "displayName":
"Web Service Template", "group": "producer", "label": "producer", "required":
false, "type": "object", "javaType":
"org.springframework.ws.client.core.WebServiceTemplate", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceT [...]
- "wsAddressingAction": { "index": 22, "kind": "parameter", "displayName":
"Ws Addressing Action", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.net.URI", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "WS-Addressing 1.0 action
header to include when accessing web services. The To [...]
- "lazyStartProducer": { "index": 23, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produ [...]
- "sslContextParameters": { "index": 24, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "To configure security
using SSLContex [...]
+ "headerFilterStrategy": { "index": 3, "kind": "parameter", "displayName":
"Header Filter Strategy", "group": "common", "label": "common", "required":
false, "type": "object", "javaType":
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "To use a custom
HeaderFilterStrategy to filter head [...]
+ "messageFilter": { "index": 4, "kind": "parameter", "displayName":
"Message Filter", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.spring.ws.filter.MessageFilter", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom MessageFilter. For example wh [...]
+ "messageIdStrategy": { "index": 5, "kind": "parameter", "displayName":
"Message Id Strategy", "group": "common", "label": "common", "required": false,
"type": "object", "javaType":
"org.springframework.ws.soap.addressing.messageid.MessageIdStrategy",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom Messa [...]
+ "endpointDispatcher": { "index": 6, "kind": "parameter", "displayName":
"Endpoint Dispatcher", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Spring
org.springframework.w [...]
+ "endpointMapping": { "index": 7, "kind": "parameter", "displayName":
"Endpoint Mapping", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelSpringWSEndpointMapping",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Reference to an instance
of o [...]
+ "expression": { "index": 8, "kind": "parameter", "displayName":
"Expression", "group": "consumer", "label": "consumer", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "The XPath expression to
use when option type=xpathresult. Then this option is required to be c [...]
+ "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
+ "exceptionHandler": { "index": 10, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 11, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "enum", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
+ "allowResponseAttachmentOverride": { "index": 12, "kind": "parameter",
"displayName": "Allow Response Attachment Override", "group": "producer",
"label": "producer", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response [...]
+ "allowResponseHeaderOverride": { "index": 13, "kind": "parameter",
"displayName": "Allow Response Header Override", "group": "producer", "label":
"producer", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response header i [...]
+ "faultAction": { "index": 14, "kind": "parameter", "displayName": "Fault
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing Fault Action header that is pro [...]
+ "faultTo": { "index": 15, "kind": "parameter", "displayName": "Fault To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing FaultTo header that is provided by the
[...]
+ "messageFactory": { "index": 16, "kind": "parameter", "displayName":
"Message Factory", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.WebServiceMessageFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageFactory." },
+ "messageSender": { "index": 17, "kind": "parameter", "displayName":
"Message Sender", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.transport.WebServiceMessageSender", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageSe [...]
+ "outputAction": { "index": 18, "kind": "parameter", "displayName": "Output
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the response WS-Addressing Action header that is provided by the met [...]
+ "replyTo": { "index": 19, "kind": "parameter", "displayName": "Reply To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the replyTo response WS-Addressing ReplyTo header that is provided by the meth
[...]
+ "soapAction": { "index": 20, "kind": "parameter", "displayName": "Soap
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "SOAP action to include
inside a SOAP request when accessing remote web services" },
+ "timeout": { "index": 21, "kind": "parameter", "displayName": "Timeout",
"group": "producer", "label": "producer", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Sets the socket read
timeout (in milliseconds) while invoking a webservice using the producer, see
URLConnectio [...]
+ "webServiceTemplate": { "index": 22, "kind": "parameter", "displayName":
"Web Service Template", "group": "producer", "label": "producer", "required":
false, "type": "object", "javaType":
"org.springframework.ws.client.core.WebServiceTemplate", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceT [...]
+ "wsAddressingAction": { "index": 23, "kind": "parameter", "displayName":
"Ws Addressing Action", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.net.URI", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "WS-Addressing 1.0 action
header to include when accessing web services. The To [...]
+ "lazyStartProducer": { "index": 24, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produ [...]
+ "sslContextParameters": { "index": 25, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "To configure security
using SSLContex [...]
}
}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointConfigurer.java
b/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointConfigurer.java
index 151034741b86..a52a0ec5be47 100644
---
a/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointConfigurer.java
+++
b/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointConfigurer.java
@@ -42,6 +42,8 @@ public class SpringWebserviceEndpointConfigurer extends
PropertyConfigurerSuppor
case "faultAction":
target.getConfiguration().setFaultAction(property(camelContext,
java.net.URI.class, value)); return true;
case "faultto":
case "faultTo":
target.getConfiguration().setFaultTo(property(camelContext, java.net.URI.class,
value)); return true;
+ case "headerfilterstrategy":
+ case "headerFilterStrategy":
target.getConfiguration().setHeaderFilterStrategy(property(camelContext,
org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
case "lazystartproducer":
case "lazyStartProducer":
target.setLazyStartProducer(property(camelContext, boolean.class, value));
return true;
case "messagefactory":
@@ -91,6 +93,8 @@ public class SpringWebserviceEndpointConfigurer extends
PropertyConfigurerSuppor
case "faultAction": return java.net.URI.class;
case "faultto":
case "faultTo": return java.net.URI.class;
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": return
org.apache.camel.spi.HeaderFilterStrategy.class;
case "lazystartproducer":
case "lazyStartProducer": return boolean.class;
case "messagefactory":
@@ -141,6 +145,8 @@ public class SpringWebserviceEndpointConfigurer extends
PropertyConfigurerSuppor
case "faultAction": return target.getConfiguration().getFaultAction();
case "faultto":
case "faultTo": return target.getConfiguration().getFaultTo();
+ case "headerfilterstrategy":
+ case "headerFilterStrategy": return
target.getConfiguration().getHeaderFilterStrategy();
case "lazystartproducer":
case "lazyStartProducer": return target.isLazyStartProducer();
case "messagefactory":
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointUriFactory.java
b/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointUriFactory.java
index 691ede3cd6fc..03dcde7ccc09 100644
---
a/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointUriFactory.java
+++
b/components/camel-spring-parent/camel-spring-ws/src/generated/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpointUriFactory.java
@@ -23,7 +23,7 @@ public class SpringWebserviceEndpointUriFactory extends
org.apache.camel.support
private static final Set<String> SECRET_PROPERTY_NAMES;
private static final Set<String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(25);
+ Set<String> props = new HashSet<>(26);
props.add("allowResponseAttachmentOverride");
props.add("allowResponseHeaderOverride");
props.add("bridgeErrorHandler");
@@ -34,6 +34,7 @@ public class SpringWebserviceEndpointUriFactory extends
org.apache.camel.support
props.add("expression");
props.add("faultAction");
props.add("faultTo");
+ props.add("headerFilterStrategy");
props.add("lazyStartProducer");
props.add("lookupKey");
props.add("messageFactory");
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json
b/components/camel-spring-parent/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json
index b2e148f7d8d1..29ddb916d3a8 100644
---
a/components/camel-spring-parent/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json
+++
b/components/camel-spring-parent/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json
@@ -43,27 +43,28 @@
"type": { "index": 0, "kind": "path", "displayName": "Type", "group":
"consumer", "label": "consumer", "required": false, "type": "enum", "javaType":
"org.apache.camel.component.spring.ws.type.EndpointMappingType", "enum": [
"ROOT_QNAME", "ACTION", "TO", "SOAP_ACTION", "XPATHRESULT", "URI", "URI_PATH",
"BEANNAME" ], "deprecated": false, "autowired": false, "secret": false,
"configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField" [...]
"lookupKey": { "index": 1, "kind": "path", "displayName": "Lookup Key",
"group": "consumer", "label": "consumer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Endpoint mapping key if
endpoint mapping is used" },
"webServiceEndpointUri": { "index": 2, "kind": "path", "displayName": "Web
Service Endpoint Uri", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "The default Web Service
endpoint uri to use for the producer." },
- "messageFilter": { "index": 3, "kind": "parameter", "displayName":
"Message Filter", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.spring.ws.filter.MessageFilter", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom MessageFilter. For example wh [...]
- "messageIdStrategy": { "index": 4, "kind": "parameter", "displayName":
"Message Id Strategy", "group": "common", "label": "common", "required": false,
"type": "object", "javaType":
"org.springframework.ws.soap.addressing.messageid.MessageIdStrategy",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom Messa [...]
- "endpointDispatcher": { "index": 5, "kind": "parameter", "displayName":
"Endpoint Dispatcher", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Spring
org.springframework.w [...]
- "endpointMapping": { "index": 6, "kind": "parameter", "displayName":
"Endpoint Mapping", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelSpringWSEndpointMapping",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Reference to an instance
of o [...]
- "expression": { "index": 7, "kind": "parameter", "displayName":
"Expression", "group": "consumer", "label": "consumer", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "The XPath expression to
use when option type=xpathresult. Then this option is required to be c [...]
- "bridgeErrorHandler": { "index": 8, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
- "exceptionHandler": { "index": 9, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By def [...]
- "exchangePattern": { "index": 10, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "enum", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
- "allowResponseAttachmentOverride": { "index": 11, "kind": "parameter",
"displayName": "Allow Response Attachment Override", "group": "producer",
"label": "producer", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response [...]
- "allowResponseHeaderOverride": { "index": 12, "kind": "parameter",
"displayName": "Allow Response Header Override", "group": "producer", "label":
"producer", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response header i [...]
- "faultAction": { "index": 13, "kind": "parameter", "displayName": "Fault
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing Fault Action header that is pro [...]
- "faultTo": { "index": 14, "kind": "parameter", "displayName": "Fault To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing FaultTo header that is provided by the
[...]
- "messageFactory": { "index": 15, "kind": "parameter", "displayName":
"Message Factory", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.WebServiceMessageFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageFactory." },
- "messageSender": { "index": 16, "kind": "parameter", "displayName":
"Message Sender", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.transport.WebServiceMessageSender", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageSe [...]
- "outputAction": { "index": 17, "kind": "parameter", "displayName": "Output
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the response WS-Addressing Action header that is provided by the met [...]
- "replyTo": { "index": 18, "kind": "parameter", "displayName": "Reply To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the replyTo response WS-Addressing ReplyTo header that is provided by the meth
[...]
- "soapAction": { "index": 19, "kind": "parameter", "displayName": "Soap
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "SOAP action to include
inside a SOAP request when accessing remote web services" },
- "timeout": { "index": 20, "kind": "parameter", "displayName": "Timeout",
"group": "producer", "label": "producer", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Sets the socket read
timeout (in milliseconds) while invoking a webservice using the producer, see
URLConnectio [...]
- "webServiceTemplate": { "index": 21, "kind": "parameter", "displayName":
"Web Service Template", "group": "producer", "label": "producer", "required":
false, "type": "object", "javaType":
"org.springframework.ws.client.core.WebServiceTemplate", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceT [...]
- "wsAddressingAction": { "index": 22, "kind": "parameter", "displayName":
"Ws Addressing Action", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.net.URI", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "WS-Addressing 1.0 action
header to include when accessing web services. The To [...]
- "lazyStartProducer": { "index": 23, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produ [...]
- "sslContextParameters": { "index": 24, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "To configure security
using SSLContex [...]
+ "headerFilterStrategy": { "index": 3, "kind": "parameter", "displayName":
"Header Filter Strategy", "group": "common", "label": "common", "required":
false, "type": "object", "javaType":
"org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "To use a custom
HeaderFilterStrategy to filter head [...]
+ "messageFilter": { "index": 4, "kind": "parameter", "displayName":
"Message Filter", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.spring.ws.filter.MessageFilter", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom MessageFilter. For example wh [...]
+ "messageIdStrategy": { "index": 5, "kind": "parameter", "displayName":
"Message Id Strategy", "group": "common", "label": "common", "required": false,
"type": "object", "javaType":
"org.springframework.ws.soap.addressing.messageid.MessageIdStrategy",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom Messa [...]
+ "endpointDispatcher": { "index": 6, "kind": "parameter", "displayName":
"Endpoint Dispatcher", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Spring
org.springframework.w [...]
+ "endpointMapping": { "index": 7, "kind": "parameter", "displayName":
"Endpoint Mapping", "group": "consumer", "label": "consumer", "required":
false, "type": "object", "javaType":
"org.apache.camel.component.spring.ws.bean.CamelSpringWSEndpointMapping",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Reference to an instance
of o [...]
+ "expression": { "index": 8, "kind": "parameter", "displayName":
"Expression", "group": "consumer", "label": "consumer", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "The XPath expression to
use when option type=xpathresult. Then this option is required to be c [...]
+ "bridgeErrorHandler": { "index": 9, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
+ "exceptionHandler": { "index": 10, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 11, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "enum", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
+ "allowResponseAttachmentOverride": { "index": 12, "kind": "parameter",
"displayName": "Allow Response Attachment Override", "group": "producer",
"label": "producer", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response [...]
+ "allowResponseHeaderOverride": { "index": 13, "kind": "parameter",
"displayName": "Allow Response Header Override", "group": "producer", "label":
"producer", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to override soap
response header i [...]
+ "faultAction": { "index": 14, "kind": "parameter", "displayName": "Fault
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing Fault Action header that is pro [...]
+ "faultTo": { "index": 15, "kind": "parameter", "displayName": "Fault To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the faultAction response WS-Addressing FaultTo header that is provided by the
[...]
+ "messageFactory": { "index": 16, "kind": "parameter", "displayName":
"Message Factory", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.WebServiceMessageFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageFactory." },
+ "messageSender": { "index": 17, "kind": "parameter", "displayName":
"Message Sender", "group": "producer", "label": "producer", "required": false,
"type": "object", "javaType":
"org.springframework.ws.transport.WebServiceMessageSender", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceMessageSe [...]
+ "outputAction": { "index": 18, "kind": "parameter", "displayName": "Output
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.net.URI", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the response WS-Addressing Action header that is provided by the met [...]
+ "replyTo": { "index": 19, "kind": "parameter", "displayName": "Reply To",
"group": "producer", "label": "producer", "required": false, "type": "string",
"javaType": "java.net.URI", "deprecated": false, "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Signifies the value for
the replyTo response WS-Addressing ReplyTo header that is provided by the meth
[...]
+ "soapAction": { "index": 20, "kind": "parameter", "displayName": "Soap
Action", "group": "producer", "label": "producer", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "SOAP action to include
inside a SOAP request when accessing remote web services" },
+ "timeout": { "index": 21, "kind": "parameter", "displayName": "Timeout",
"group": "producer", "label": "producer", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Sets the socket read
timeout (in milliseconds) while invoking a webservice using the producer, see
URLConnectio [...]
+ "webServiceTemplate": { "index": 22, "kind": "parameter", "displayName":
"Web Service Template", "group": "producer", "label": "producer", "required":
false, "type": "object", "javaType":
"org.springframework.ws.client.core.WebServiceTemplate", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "Option to provide a
custom WebServiceT [...]
+ "wsAddressingAction": { "index": 23, "kind": "parameter", "displayName":
"Ws Addressing Action", "group": "producer", "label": "producer", "required":
false, "type": "string", "javaType": "java.net.URI", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "WS-Addressing 1.0 action
header to include when accessing web services. The To [...]
+ "lazyStartProducer": { "index": 24, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produ [...]
+ "sslContextParameters": { "index": 25, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.spring.ws.SpringWebserviceConfiguration",
"configurationField": "configuration", "description": "To configure security
using SSLContex [...]
}
}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConfiguration.java
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConfiguration.java
index 73a0af8c5e96..3a7da5ea2542 100644
---
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConfiguration.java
+++
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConfiguration.java
@@ -24,6 +24,7 @@ import
org.apache.camel.component.spring.ws.bean.CamelSpringWSEndpointMapping;
import org.apache.camel.component.spring.ws.filter.MessageFilter;
import org.apache.camel.component.spring.ws.type.EndpointMappingKey;
import org.apache.camel.component.spring.ws.type.EndpointMappingType;
+import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriParams;
import org.apache.camel.spi.UriPath;
@@ -50,6 +51,9 @@ public class SpringWebserviceConfiguration {
@UriParam(label = "common")
private MessageIdStrategy messageIdStrategy;
+ @UriParam(label = "common")
+ private HeaderFilterStrategy headerFilterStrategy = new
SpringWebserviceHeaderFilterStrategy();
+
/* Producer configuration */
@UriParam(label = "producer")
private WebServiceTemplate webServiceTemplate;
@@ -420,6 +424,19 @@ public class SpringWebserviceConfiguration {
this.messageIdStrategy = messageIdStrategy;
}
+ public HeaderFilterStrategy getHeaderFilterStrategy() {
+ return headerFilterStrategy;
+ }
+
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
from the Camel message. By default the
+ * internal {@code Camel} and {@code camel} header namespace
(case-insensitive) is filtered out from inbound SOAP
+ * headers.
+ */
+ public void setHeaderFilterStrategy(HeaderFilterStrategy
headerFilterStrategy) {
+ this.headerFilterStrategy = headerFilterStrategy;
+ }
+
public boolean isAllowResponseHeaderOverride() {
return allowResponseHeaderOverride;
}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
index 3175a0537799..fe99670941d9 100644
---
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
+++
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
@@ -31,6 +31,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.attachment.DefaultAttachmentMessage;
+import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.support.DefaultConsumer;
import org.springframework.ws.WebServiceMessage;
import org.springframework.ws.context.MessageContext;
@@ -145,7 +146,7 @@ public class SpringWebserviceConsumer extends
DefaultConsumer implements Message
swm.setWebServiceMessage(request);
}
- extractSourceFromSoapHeader(exchange.getIn().getHeaders(), request);
+ extractSourceFromSoapHeader(exchange, exchange.getIn().getHeaders(),
request);
extractAttachmentsFromRequest(request, exchange);
}
@@ -169,11 +170,13 @@ public class SpringWebserviceConsumer extends
DefaultConsumer implements Message
* @param headers the Exchange Headers
* @param request the WebService Request
*/
- private void extractSourceFromSoapHeader(Map<String, Object> headers,
WebServiceMessage request) {
+ private void extractSourceFromSoapHeader(Exchange exchange, Map<String,
Object> headers, WebServiceMessage request) {
if (request instanceof SoapMessage soapMessage) {
SoapHeader soapHeader = soapMessage.getSoapHeader();
if (soapHeader != null) {
+ HeaderFilterStrategy headerFilterStrategy =
endpoint.getHeaderFilterStrategy();
+
//Set the raw soap header as a header in the exchange.
headers.put(SpringWebserviceConstants.SPRING_WS_SOAP_HEADER,
soapHeader.getSource());
@@ -181,7 +184,11 @@ public class SpringWebserviceConsumer extends
DefaultConsumer implements Message
Iterator<QName> attIter = soapHeader.getAllAttributes();
while (attIter.hasNext()) {
QName name = attIter.next();
- headers.put(name.getLocalPart(),
soapHeader.getAttributeValue(name));
+ Object value = soapHeader.getAttributeValue(name);
+ if (headerFilterStrategy == null
+ ||
!headerFilterStrategy.applyFilterToExternalHeaders(name.getLocalPart(), value,
exchange)) {
+ headers.put(name.getLocalPart(), value);
+ }
}
//Set header values for the soap header elements
@@ -189,7 +196,10 @@ public class SpringWebserviceConsumer extends
DefaultConsumer implements Message
while (elementIter.hasNext()) {
SoapHeaderElement element = elementIter.next();
QName name = element.getName();
- headers.put(name.getLocalPart(), element);
+ if (headerFilterStrategy == null
+ ||
!headerFilterStrategy.applyFilterToExternalHeaders(name.getLocalPart(),
element, exchange)) {
+ headers.put(name.getLocalPart(), element);
+ }
}
}
}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
index 1e07fc8ec362..1bd105e55216 100644
---
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
+++
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java
@@ -22,6 +22,8 @@ import org.apache.camel.Consumer;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.HeaderFilterStrategyAware;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
@@ -36,7 +38,7 @@ import org.apache.camel.support.DefaultEndpoint;
@Metadata(annotations = {
"protocol=http",
})
-public class SpringWebserviceEndpoint extends DefaultEndpoint {
+public class SpringWebserviceEndpoint extends DefaultEndpoint implements
HeaderFilterStrategyAware {
@UriParam
private SpringWebserviceConfiguration configuration;
@@ -66,4 +68,14 @@ public class SpringWebserviceEndpoint extends
DefaultEndpoint {
return configuration;
}
+ @Override
+ public HeaderFilterStrategy getHeaderFilterStrategy() {
+ return configuration.getHeaderFilterStrategy();
+ }
+
+ @Override
+ public void setHeaderFilterStrategy(HeaderFilterStrategy
headerFilterStrategy) {
+ configuration.setHeaderFilterStrategy(headerFilterStrategy);
+ }
+
}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHeaderFilterStrategy.java
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHeaderFilterStrategy.java
new file mode 100644
index 000000000000..5fe78b40bc9d
--- /dev/null
+++
b/components/camel-spring-parent/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceHeaderFilterStrategy.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.spring.ws;
+
+import org.apache.camel.support.DefaultHeaderFilterStrategy;
+
+/**
+ * Default header filter strategy for Spring Web Services endpoints.
+ * <p>
+ * Filters out Camel internal headers (starting with "Camel" or "camel") in
both directions to prevent external SOAP
+ * clients from injecting internal Camel headers via SOAP header elements or
attributes.
+ */
+public class SpringWebserviceHeaderFilterStrategy extends
DefaultHeaderFilterStrategy {
+
+ public SpringWebserviceHeaderFilterStrategy() {
+ setLowerCase(true);
+ setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+ setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
+ }
+}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest.java
b/components/camel-spring-parent/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest.java
new file mode 100644
index 000000000000..2685c6d743c5
--- /dev/null
+++
b/components/camel-spring-parent/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest.java
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.spring.ws;
+
+import java.io.StringReader;
+
+import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.ws.client.core.SourceExtractor;
+import org.springframework.ws.client.core.WebServiceTemplate;
+import org.springframework.ws.soap.SoapHeader;
+import org.springframework.ws.soap.SoapMessage;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+public class ConsumerSoapHeaderFilterTest extends CamelSpringTestSupport {
+
+ private static final SourceExtractor<Object> NOOP_SOURCE_EXTRACTOR =
source -> null;
+
+ private final String xmlRequest = "<GetQuote
xmlns=\"http://www.stockquotes.edu/\"><symbol>GOOG</symbol></GetQuote>";
+
+ @EndpointInject("mock:result")
+ private MockEndpoint result;
+
+ private WebServiceTemplate webServiceTemplate;
+
+ @Override
+ public void doPostSetup() {
+ webServiceTemplate = applicationContext.getBean("webServiceTemplate",
WebServiceTemplate.class);
+ }
+
+ @Test
+ public void internalCamelHeaderFromInboundSoapHeaderIsFiltered() throws
Exception {
+ result.expectedMessageCount(1);
+
+ Source source = new StreamSource(new StringReader(xmlRequest));
+ webServiceTemplate.sendSourceAndReceive(source, message -> {
+ SoapMessage soap = (SoapMessage) message;
+ soap.setSoapAction("http://www.stockquotes.edu/GetQuote");
+ SoapHeader soapHeader = soap.getSoapHeader();
+ // a regular application-level header element
+ soapHeader.addHeaderElement(new QName("http://example.com/test",
"MessageID")).setText("1234567890");
+ // an attacker-supplied element whose local name lives in the
internal Camel header namespace
+ soapHeader.addHeaderElement(new QName("http://example.com/test",
"CamelFileName")).setText("../../etc/passwd");
+ }, NOOP_SOURCE_EXTRACTOR);
+
+ result.assertIsSatisfied();
+
+ Exchange consumed = result.getExchanges().get(0);
+ // a regular application-level SOAP header element is still mapped to
an Exchange header
+ assertNotNull(consumed.getIn().getHeader("MessageID"),
+ "Application-level SOAP header element should be propagated");
+ // an attacker-supplied internal Camel* header name must be filtered
out by the HeaderFilterStrategy
+ assertNull(consumed.getIn().getHeader("CamelFileName"),
+ "Internal Camel* header coming from an inbound SOAP header
must be filtered");
+ }
+
+ @Test
+ public void internalCamelAttributeFromInboundSoapHeaderIsFiltered() throws
Exception {
+ result.expectedMessageCount(1);
+
+ Source source = new StreamSource(new StringReader(xmlRequest));
+ webServiceTemplate.sendSourceAndReceive(source, message -> {
+ SoapMessage soap = (SoapMessage) message;
+ soap.setSoapAction("http://www.stockquotes.edu/GetQuote");
+ SoapHeader soapHeader = soap.getSoapHeader();
+ // a regular application-level header attribute
+ soapHeader.addAttribute(new QName("http://example.com/test",
"MessageId"), "1234567890");
+ // an attacker-supplied attribute whose local name lives in the
internal Camel header namespace
+ soapHeader.addAttribute(new QName("http://example.com/test",
"CamelFileName"), "../../etc/passwd");
+ }, NOOP_SOURCE_EXTRACTOR);
+
+ result.assertIsSatisfied();
+
+ Exchange consumed = result.getExchanges().get(0);
+ // a regular application-level SOAP header attribute is still mapped
to an Exchange header
+ assertNotNull(consumed.getIn().getHeader("MessageId"),
+ "Application-level SOAP header attribute should be
propagated");
+ // an attacker-supplied internal Camel* header name must be filtered
out by the HeaderFilterStrategy
+ assertNull(consumed.getIn().getHeader("CamelFileName"),
+ "Internal Camel* header coming from an inbound SOAP header
attribute must be filtered");
+ }
+
+ @Override
+ protected AbstractXmlApplicationContext createApplicationContext() {
+ return new ClassPathXmlApplicationContext(
+
"org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest-context.xml");
+ }
+}
diff --git
a/components/camel-spring-parent/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest-context.xml
b/components/camel-spring-parent/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest-context.xml
new file mode 100644
index 000000000000..2d0908e21c0c
--- /dev/null
+++
b/components/camel-spring-parent/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ConsumerSoapHeaderFilterTest-context.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+ <camelContext xmlns="http://camel.apache.org/schema/spring">
+ <!-- consumer route (the actual web service); capture the inbound
exchange built from the SOAP request -->
+ <route>
+ <from
uri="spring-ws:soapaction:http://www.stockquotes.edu/GetQuote?endpointMapping=#endpointMapping"/>
+ <to uri="mock:result"/>
+ </route>
+ </camelContext>
+
+ <bean id="messageFactory"
class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"/>
+
+ <bean id="endpointMapping"
+
class="org.apache.camel.component.spring.ws.bean.CamelEndpointMapping"/>
+
+ <bean id="webServiceTemplate"
class="org.springframework.ws.client.core.WebServiceTemplate">
+ <property name="defaultUri" value="http://localhost"/>
+ <property name="messageSender">
+ <bean
class="net.javacrumbs.springws.test.helper.InMemoryWebServiceMessageSender2"/>
+ </property>
+ </bean>
+
+</beans>
diff --git
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
index 144f0a9a2339..14d6d4f7c940 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
@@ -6,6 +6,17 @@ from both 4.0 to 4.1 and 4.1 to 4.2.
== Upgrading from 4.14.7 to 4.14.8
+=== camel-spring-ws - potential breaking change
+
+The `spring-ws` consumer now applies a `HeaderFilterStrategy` to the SOAP
headers it maps onto the
+Camel `Exchange`. The default `headerFilterStrategy` is a new
`SpringWebserviceHeaderFilterStrategy`
+that filters header names starting with `Camel` / `camel` (case-insensitive)
in both the inbound and
+outbound directions, aligning the component with the rest of the Camel
component catalog
+(`camel-cxf`, `camel-mail`, `camel-coap`, ...). SOAP header element and
attribute names that fall in
+that namespace are no longer propagated as `Exchange` headers. Routes that
relied on receiving such
+header names from inbound SOAP headers can supply a custom
`headerFilterStrategy` (via the new
+`headerFilterStrategy` endpoint option) to restore the previous behaviour.
+
=== camel-netty-http / camel-undertow - potential breaking change
The `muteException` consumer option now defaults to `true` in
`camel-netty-http` and
diff --git
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringWebserviceEndpointBuilderFactory.java
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringWebserviceEndpointBuilderFactory.java
index d867699c855a..818cd53b7b0a 100644
---
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringWebserviceEndpointBuilderFactory.java
+++
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SpringWebserviceEndpointBuilderFactory.java
@@ -43,6 +43,42 @@ public interface SpringWebserviceEndpointBuilderFactory {
default AdvancedSpringWebserviceEndpointConsumerBuilder advanced() {
return (AdvancedSpringWebserviceEndpointConsumerBuilder) this;
}
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
+ * from the Camel message. By default the internal Camel and camel
+ * header namespace (case-insensitive) is filtered out from inbound
SOAP
+ * headers.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: common
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default SpringWebserviceEndpointConsumerBuilder
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy
headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
+ * from the Camel message. By default the internal Camel and camel
+ * header namespace (case-insensitive) is filtered out from inbound
SOAP
+ * headers.
+ *
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: common
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default SpringWebserviceEndpointConsumerBuilder
headerFilterStrategy(String headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
/**
* Option to provide a custom MessageFilter. For example when you want
* to process your headers or attachments by your own.
@@ -370,6 +406,42 @@ public interface SpringWebserviceEndpointBuilderFactory {
return (AdvancedSpringWebserviceEndpointProducerBuilder) this;
}
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
+ * from the Camel message. By default the internal Camel and camel
+ * header namespace (case-insensitive) is filtered out from inbound
SOAP
+ * headers.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: common
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default SpringWebserviceEndpointProducerBuilder
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy
headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
+ * from the Camel message. By default the internal Camel and camel
+ * header namespace (case-insensitive) is filtered out from inbound
SOAP
+ * headers.
+ *
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: common
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default SpringWebserviceEndpointProducerBuilder
headerFilterStrategy(String headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
/**
* Option to provide a custom MessageFilter. For example when you want
* to process your headers or attachments by your own.
@@ -944,6 +1016,42 @@ public interface SpringWebserviceEndpointBuilderFactory {
return (AdvancedSpringWebserviceEndpointBuilder) this;
}
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
+ * from the Camel message. By default the internal Camel and camel
+ * header namespace (case-insensitive) is filtered out from inbound
SOAP
+ * headers.
+ *
+ * The option is a:
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: common
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default SpringWebserviceEndpointBuilder
headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy
headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter headers mapped to and
+ * from the Camel message. By default the internal Camel and camel
+ * header namespace (case-insensitive) is filtered out from inbound
SOAP
+ * headers.
+ *
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ *
+ * Group: common
+ *
+ * @param headerFilterStrategy the value to set
+ * @return the dsl builder
+ */
+ default SpringWebserviceEndpointBuilder headerFilterStrategy(String
headerFilterStrategy) {
+ doSetProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
/**
* Option to provide a custom MessageFilter. For example when you want
* to process your headers or attachments by your own.