You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/02/11 07:13:10 UTC
svn commit: r743243 - in /camel/branches/camel-1.x/components/camel-cxf: ./
src/main/java/org/apache/camel/component/cxf/
src/main/java/org/apache/camel/component/cxf/util/
src/test/java/org/apache/camel/component/cxf/
Author: ningjiang
Date: Wed Feb 11 06:13:10 2009
New Revision: 743243
URL: http://svn.apache.org/viewvc?rev=743243&view=rev
Log:
CAMEL-1330 added a unit test for testing the response code, also fixed this issue in Camel 1.x branch
Modified:
camel/branches/camel-1.x/components/camel-cxf/pom.xml
camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfHeaderHelper.java
camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java
Modified: camel/branches/camel-1.x/components/camel-cxf/pom.xml
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/pom.xml?rev=743243&r1=743242&r2=743243&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/pom.xml (original)
+++ camel/branches/camel-1.x/components/camel-cxf/pom.xml Wed Feb 11 06:13:10 2009
@@ -73,6 +73,12 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-http</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>commons-logging</groupId>
Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java?rev=743243&r1=743242&r2=743243&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java Wed Feb 11 06:13:10 2009
@@ -165,7 +165,11 @@
if (context != null) {
MessageContext messageContext = new WrappedMessageContext(context, null, Scope.HANDLER);
response.put(Client.RESPONSE_CONTEXT, messageContext);
-
+ //put the ResponseCode in the response context
+ Object value = context.get(Message.RESPONSE_CODE);
+ if (value != null) {
+ response.put(Message.RESPONSE_CODE, value);
+ }
}
}
Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfHeaderHelper.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfHeaderHelper.java?rev=743243&r1=743242&r2=743243&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfHeaderHelper.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfHeaderHelper.java Wed Feb 11 06:13:10 2009
@@ -105,16 +105,17 @@
// propagate request context
key = Client.REQUEST_CONTEXT;
- value = message.get(key);
+ value = message.get(key);
if (value != null && !strategy.applyFilterToExternalHeaders(key, value)) {
headers.put(key, value);
}
// propagate response context
key = Client.RESPONSE_CONTEXT;
- value = message.get(key);
+ value = message.get(key);
if (value != null && !strategy.applyFilterToExternalHeaders(key, value)) {
headers.put(key, value);
- }
+ }
+
}
}
Modified: camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java?rev=743243&r1=743242&r2=743243&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java Wed Feb 11 06:13:10 2009
@@ -21,6 +21,8 @@
import javax.xml.ws.Service;
import org.apache.camel.CamelContext;
+import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.component.http.HttpOperationFailedException;
import org.apache.camel.spring.SpringCamelContext;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.hello_world_soap_http.Greeter;
@@ -36,6 +38,12 @@
"SOAPService");
private final QName routerPortName = new QName("http://apache.org/hello_world_soap_http",
"RouterPort");
+
+ private final String testDocLitFaultBody =
+ "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ + "<soap:Body><testDocLitFault xmlns=\"http://apache.org/hello_world_soap_http/types\">"
+ + "<faultType>NoSuchCodeLitFault</faultType></testDocLitFault>"
+ + "</soap:Body></soap:Envelope>";
@Override
protected void setUp() throws Exception {
@@ -86,7 +94,16 @@
// expect the fault here
assertNotNull("The fault info should not be null", fault.getFaultInfo());
}
-
+ }
+
+ public void testRoutingSOAPFault() throws Exception {
+ try {
+ template.sendBody("http://localhost:9003/CamelContext/RouterPort", testDocLitFaultBody);
+ fail("Should get an exception here.");
+ } catch (RuntimeCamelException exception) {
+ assertTrue("It should get the response error", exception.getCause() instanceof HttpOperationFailedException);
+ assertEquals("Get a wrong response code", ((HttpOperationFailedException)exception.getCause()).getStatusCode(), 500);
+ }
}
@Override