You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2011/01/19 15:23:50 UTC
svn commit: r1060820 - in
/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf:
cxfbean/DefaultCxfBeanBinding.java transport/CamelDestination.java
Author: cschneider
Date: Wed Jan 19 14:23:50 2011
New Revision: 1060820
URL: http://svn.apache.org/viewvc?rev=1060820&view=rev
Log:
CAMEL-3554 Camel Transport now also maps some special headers from camel to cxf like cxfbean does
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/DefaultCxfBeanBinding.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/DefaultCxfBeanBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/DefaultCxfBeanBinding.java?rev=1060820&r1=1060819&r2=1060820&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/DefaultCxfBeanBinding.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/DefaultCxfBeanBinding.java Wed Jan 19 14:23:50 2011
@@ -37,40 +37,23 @@ public class DefaultCxfBeanBinding imple
public Message createCxfMessageFromCamelExchange(Exchange camelExchange,
HeaderFilterStrategy headerFilterStrategy) {
+ org.apache.cxf.message.Message answer =
+ CxfMessageHelper.getCxfInMessage(headerFilterStrategy, camelExchange, false);
+
org.apache.camel.Message camelMessage = camelExchange.getIn();
-
- // request content types
String requestContentType = getRequestContentType(camelMessage);
- // accept content types
String acceptContentTypes = camelMessage.getHeader("Accept", String.class);
if (acceptContentTypes == null) {
acceptContentTypes = "*/*";
}
String enc = getCharacterEncoding(camelMessage);
-
- // path
String path = getPath(camelMessage);
-
- // base path
String basePath = getBasePath(camelExchange);
-
- // verb
String verb = getVerb(camelMessage);
-
String queryString = getQueryString(camelMessage);
- if (LOG.isTraceEnabled()) {
- LOG.trace("Processing " + camelExchange + ", requestContentType = " + requestContentType
- + ", acceptContentTypes = " + acceptContentTypes + ", encoding = " + enc
- + ", path = " + path + ", basePath = " + basePath + ", verb = " + verb);
- }
-
-
- org.apache.cxf.message.Message answer =
- CxfMessageHelper.getCxfInMessage(headerFilterStrategy, camelExchange, false);
-
answer.put(org.apache.cxf.message.Message.REQUEST_URI, path);
answer.put(org.apache.cxf.message.Message.BASE_PATH, basePath);
answer.put(org.apache.cxf.message.Message.HTTP_REQUEST_METHOD, verb);
@@ -81,10 +64,16 @@ public class DefaultCxfBeanBinding imple
answer.put(org.apache.cxf.message.Message.QUERY_STRING, queryString);
// TODO propagate security context
+
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Processing " + camelExchange + ", requestContentType = " + requestContentType
+ + ", acceptContentTypes = " + acceptContentTypes + ", encoding = " + enc
+ + ", path = " + path + ", basePath = " + basePath + ", verb = " + verb);
+ }
return answer;
}
-
+
public void propagateResponseHeadersToCamel(Message cxfMessage, Exchange exchange,
HeaderFilterStrategy strategy) {
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java?rev=1060820&r1=1060819&r2=1060820&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java Wed Jan 19 14:23:50 2011
@@ -28,6 +28,8 @@ import org.apache.camel.Exchange;
import org.apache.camel.FailedToCreateConsumerException;
import org.apache.camel.Processor;
import org.apache.camel.component.cxf.CxfConstants;
+import org.apache.camel.component.cxf.cxfbean.CxfBeanBinding;
+import org.apache.camel.component.cxf.cxfbean.DefaultCxfBeanBinding;
import org.apache.camel.component.cxf.util.CxfHeaderHelper;
import org.apache.camel.component.cxf.util.CxfMessageHelper;
import org.apache.camel.spi.HeaderFilterStrategy;
@@ -89,7 +91,7 @@ public class CamelDestination extends Ab
public void setCheckException(boolean exception) {
checkException = exception;
}
-
+
public boolean isCheckException() {
return checkException;
}
@@ -138,8 +140,9 @@ public class CamelDestination extends Ab
protected void incoming(org.apache.camel.Exchange camelExchange) {
getLogger().log(Level.FINE, "server received request: ", camelExchange);
- org.apache.cxf.message.Message inMessage =
- CxfMessageHelper.getCxfInMessage(headerFilterStrategy, camelExchange, false);
+ DefaultCxfBeanBinding beanBinding = new DefaultCxfBeanBinding();
+ org.apache.cxf.message.Message inMessage =
+ beanBinding.createCxfMessageFromCamelExchange(camelExchange, headerFilterStrategy);
inMessage.put(CxfConstants.CAMEL_EXCHANGE, camelExchange);
((MessageImpl)inMessage).setDestination(this);