Class DefaultCxfBinding
java.lang.Object
org.apache.camel.component.cxf.jaxws.DefaultCxfBinding
- All Implemented Interfaces:
org.apache.camel.component.cxf.common.CxfBinding
,org.apache.camel.spi.HeaderFilterStrategyAware
public class DefaultCxfBinding
extends Object
implements org.apache.camel.component.cxf.common.CxfBinding, org.apache.camel.spi.HeaderFilterStrategyAware
The Default CXF binding implementation.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static void
addNamespace
(Element element, Map<String, String> nsMap) void
copyJaxWsContext
(org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> context) protected void
extractInvocationContextFromCamel
(org.apache.camel.Exchange camelExchange, Map<String, Object> camelHeaders, Map<String, Object> cxfContext, String contextKey) void
extractJaxWsContext
(org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> context) static Method
findMethod
(Class<?> cls, String name, Class<?>... params) static Object
getBodyFromCamel
(org.apache.camel.Message out, org.apache.camel.component.cxf.common.DataFormat dataFormat) protected static Object
getContentFromCxf
(org.apache.cxf.message.Message message, org.apache.camel.component.cxf.common.DataFormat dataFormat, String encoding) protected String
getContentTypeString
(List<String> values) org.apache.camel.spi.HeaderFilterStrategy
getPayloadBodyElements
(org.apache.cxf.message.Message message, Map<String, String> nsMap) protected org.apache.cxf.message.MessageContentsList
getResponsePayloadList
(org.apache.cxf.message.Exchange exchange, List<Source> elements) void
populateCxfHeaderFromCamelExchangeBeforeCheckError
(org.apache.camel.Exchange camelExchange, org.apache.cxf.message.Exchange cxfExchange) This method is called byCxfConsumer
to populate a CXF response protocol headers from a Camel exchange headers before CheckError.void
populateCxfRequestFromExchange
(org.apache.cxf.message.Exchange cxfExchange, org.apache.camel.Exchange camelExchange, Map<String, Object> requestContext) This method is called byCxfProducer.process(Exchange)
.void
populateCxfResponseFromExchange
(org.apache.camel.Exchange camelExchange, org.apache.cxf.message.Exchange cxfExchange) This method is called byCxfConsumer
to populate a CXF response exchange from a Camel exchange.void
populateExchangeFromCxfRequest
(org.apache.cxf.message.Exchange cxfExchange, org.apache.camel.Exchange camelExchange) This method is called byCxfConsumer
.void
populateExchangeFromCxfResponse
(org.apache.camel.Exchange camelExchange, org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> responseContext) This method is called byCxfProducer.process(Exchange)
.protected void
propagateHeadersFromCamelToCxf
(org.apache.camel.Exchange camelExchange, Map<String, Object> camelHeaders, org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> cxfContext) protected void
propagateHeadersFromCxfToCamel
(org.apache.cxf.message.Message cxfMessage, org.apache.camel.Message camelMessage, org.apache.camel.Exchange exchange) protected String
replaceMultiPartContentType
(String contentType) protected void
setCharsetWithContentType
(org.apache.camel.Exchange camelExchange) void
setHeaderFilterStrategy
(org.apache.camel.spi.HeaderFilterStrategy strategy)
-
Constructor Details
-
DefaultCxfBinding
public DefaultCxfBinding()
-
-
Method Details
-
populateCxfRequestFromExchange
public void populateCxfRequestFromExchange(org.apache.cxf.message.Exchange cxfExchange, org.apache.camel.Exchange camelExchange, Map<String, Object> requestContext) This method is called byCxfProducer.process(Exchange)
. It populates the CXF exchange and invocation context (i.e. request/response) contexts, it but does not create and populate a CXF message as a ClientImpl's invoke method will create a new CXF Message. That method will put all properties from the CXF exchange and request context to the CXF message.- Specified by:
populateCxfRequestFromExchange
in interfaceorg.apache.camel.component.cxf.common.CxfBinding
-
populateExchangeFromCxfResponse
public void populateExchangeFromCxfResponse(org.apache.camel.Exchange camelExchange, org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> responseContext) This method is called byCxfProducer.process(Exchange)
. It propagates information from CXF Exchange to Camel Exchange. The CXF Exchange contains a request from a CXF server.- Specified by:
populateExchangeFromCxfResponse
in interfaceorg.apache.camel.component.cxf.common.CxfBinding
-
populateExchangeFromCxfRequest
public void populateExchangeFromCxfRequest(org.apache.cxf.message.Exchange cxfExchange, org.apache.camel.Exchange camelExchange) This method is called byCxfConsumer
.- Specified by:
populateExchangeFromCxfRequest
in interfaceorg.apache.camel.component.cxf.common.CxfBinding
-
populateCxfHeaderFromCamelExchangeBeforeCheckError
public void populateCxfHeaderFromCamelExchangeBeforeCheckError(org.apache.camel.Exchange camelExchange, org.apache.cxf.message.Exchange cxfExchange) This method is called byCxfConsumer
to populate a CXF response protocol headers from a Camel exchange headers before CheckError. Ensure can send protocol headers back even error/exception thrown -
populateCxfResponseFromExchange
public void populateCxfResponseFromExchange(org.apache.camel.Exchange camelExchange, org.apache.cxf.message.Exchange cxfExchange) This method is called byCxfConsumer
to populate a CXF response exchange from a Camel exchange.- Specified by:
populateCxfResponseFromExchange
in interfaceorg.apache.camel.component.cxf.common.CxfBinding
-
setCharsetWithContentType
protected void setCharsetWithContentType(org.apache.camel.Exchange camelExchange) -
getHeaderFilterStrategy
public org.apache.camel.spi.HeaderFilterStrategy getHeaderFilterStrategy()- Specified by:
getHeaderFilterStrategy
in interfaceorg.apache.camel.spi.HeaderFilterStrategyAware
-
setHeaderFilterStrategy
public void setHeaderFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy strategy) - Specified by:
setHeaderFilterStrategy
in interfaceorg.apache.camel.spi.HeaderFilterStrategyAware
-
getResponsePayloadList
-
extractInvocationContextFromCamel
protected void extractInvocationContextFromCamel(org.apache.camel.Exchange camelExchange, Map<String, Object> camelHeaders, Map<String, Object> cxfContext, String contextKey) - Parameters:
camelExchange
-cxfContext
- Request or Response contextcamelHeaders
-contextKey
-
-
propagateHeadersFromCxfToCamel
protected void propagateHeadersFromCxfToCamel(org.apache.cxf.message.Message cxfMessage, org.apache.camel.Message camelMessage, org.apache.camel.Exchange exchange) - Parameters:
cxfMessage
-camelMessage
-exchange
- provides context for filtering
-
replaceMultiPartContentType
-
getContentTypeString
-
propagateHeadersFromCamelToCxf
-
getContentFromCxf
-
addNamespace
-
getPayloadBodyElements
-
getBodyFromCamel
public static Object getBodyFromCamel(org.apache.camel.Message out, org.apache.camel.component.cxf.common.DataFormat dataFormat) -
copyJaxWsContext
public void copyJaxWsContext(org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> context) - Specified by:
copyJaxWsContext
in interfaceorg.apache.camel.component.cxf.common.CxfBinding
-
extractJaxWsContext
public void extractJaxWsContext(org.apache.cxf.message.Exchange cxfExchange, Map<String, Object> context) - Specified by:
extractJaxWsContext
in interfaceorg.apache.camel.component.cxf.common.CxfBinding
-
findMethod
-