camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject svn commit: r772054 - in /camel/trunk/components/camel-cxf/src: main/java/org/apache/camel/component/cxf/CxfHeaderFilterStrategy.java test/java/org/apache/camel/component/cxf/CxfRawMessageRouterTest.java
Date Wed, 06 May 2009 04:56:15 GMT
Author: ningjiang
Date: Wed May  6 04:56:14 2009
New Revision: 772054

URL: http://svn.apache.org/viewvc?rev=772054&view=rev
Log:
CAMEL-1586 added the unit test of checking the content-type header on the wire

Modified:
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfHeaderFilterStrategy.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfRawMessageRouterTest.java

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfHeaderFilterStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfHeaderFilterStrategy.java?rev=772054&r1=772053&r2=772054&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfHeaderFilterStrategy.java
(original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfHeaderFilterStrategy.java
Wed May  6 04:56:14 2009
@@ -63,6 +63,11 @@
         getOutFilter().add(Message.PROTOCOL_HEADERS);
         getInFilter().add(Message.PROTOCOL_HEADERS);
         
+        // Since the DefaultCxfBinding deal with the content-type separately.
+        // We need to filter this header
+        getOutFilter().add("content-type");
+        getInFilter().add("content-type");
+        
         // initialize message header filter map with default SOAP filter
         messageHeaderFiltersMap = new HashMap<String, MessageHeaderFilter>();
         addToMessageHeaderFilterMap(new SoapMessageHeaderFilter());

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfRawMessageRouterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfRawMessageRouterTest.java?rev=772054&r1=772053&r2=772054&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfRawMessageRouterTest.java
(original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfRawMessageRouterTest.java
Wed May  6 04:56:14 2009
@@ -18,6 +18,9 @@
 
 import java.util.Map;
 
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 
@@ -38,12 +41,30 @@
         result.expectedMessageCount(1);
         HelloService client = getCXFClient();
         client.echo("hello world");
-        assertMockEndpointsSatisfied();
+        assertMockEndpointsSatisfied();        
         Map context = (Map)result.assertExchangeReceived(0).getIn().getHeaders().get("ResponseContext");
         Map protocalHeaders = (Map) context.get("org.apache.cxf.message.Message.PROTOCOL_HEADERS");
         assertEquals("Should get the content type", protocalHeaders.get("content-type").toString(),
"[text/xml; charset=utf-8]");
-        assertEquals("Should get the response code ", context.get("org.apache.cxf.message.Message.RESPONSE_CODE"),
200);
-        // get the content type directly from the message header
-        assertEquals("Should get the content type", result.assertExchangeReceived(0).getIn().getHeaders().get("content-type"),
"text/xml; charset=utf-8");        
+        assertEquals("Should get the response code ", context.get("org.apache.cxf.message.Message.RESPONSE_CODE"),
200);        
+        assertEquals("Should get the content type", result.assertExchangeReceived(0).getIn().getHeaders().get("content.type"),
"text/xml; charset=utf-8");        
+    }
+    
+    public void testTheContentTypeOnTheWire() throws Exception {
+        Exchange exchange = template.send(ROUTER_ADDRESS,  new Processor() {
+
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"

+                                         + "<soap:Body><ns1:echo xmlns:ns1=\"http://cxf.component.camel.apache.org/\">"
+                                         + "<arg0 xmlns=\"http://cxf.component.camel.apache.org/\">hello
world</arg0>"
+                                         + "</ns1:echo></soap:Body></soap:Envelope>");
+            }
+
+        });
+        
+        assertNotNull("We should get the content type here", exchange.getOut().getHeader("Content-Type"));
+        assertEquals("Get wrong content type", "text/xml; charset=utf-8", exchange.getOut().getHeader("Content-Type"));
+        String response = exchange.getOut().getBody(String.class);        
+        assertNotNull("Response should not be null", response);
+        assertTrue("We should get right return result", response.indexOf("echo hello world")
> 0);
     }
 }



Mime
View raw message