Author: ningjiang
Date: Fri Apr 29 02:10:02 2011
New Revision: 1097669
URL: http://svn.apache.org/viewvc?rev=1097669&view=rev
Log:
Enhance an itest to test throws the exception across the jms endpoint and send
the exception back to the CXF endpoint
Added:
camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml (with
props)
Modified:
camel/trunk/tests/camel-itest/pom.xml
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
Modified: camel/trunk/tests/camel-itest/pom.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/pom.xml?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest/pom.xml (original)
+++ camel/trunk/tests/camel-itest/pom.xml Fri Apr 29 02:10:02 2011
@@ -322,6 +322,9 @@
<wsdl>
${basedir}/src/test/resources/wsdl/hello_world.wsdl
</wsdl>
+ <bindingFiles>
+
<bindingFile>${basedir}/src/test/resources/wsdl/binding.xml</bindingFile>
+ </bindingFiles>
</wsdlOption>
</wsdlOptions>
</configuration>
Modified:
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
---
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
(original)
+++
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
Fri Apr 29 02:10:02 2011
@@ -20,9 +20,11 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.CamelExecutionException;
import org.apache.camel.ExchangePattern;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.cxf.CxfConstants;
+import org.apache.hello_world_soap_http.PingMeFault;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
@@ -31,6 +33,7 @@ import org.springframework.test.context.
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
@ContextConfiguration
public class CamelGreeterConsumerTest extends AbstractJUnit4SpringContextTests
{
@@ -39,7 +42,7 @@ public class CamelGreeterConsumerTest ex
protected CamelContext camelContext;
@Test
- public void testMocksAreValid() throws Exception {
+ public void testInvokeServers() throws Exception {
assertNotNull(camelContext);
ProducerTemplate template = camelContext.createProducerTemplate();
@@ -49,7 +52,14 @@ public class CamelGreeterConsumerTest ex
params,
CxfConstants.OPERATION_NAME, "greetMe");
assertTrue("Result is a list instance ", result instanceof List);
assertEquals("Get the wrong response", ((List)result).get(0),
"HelloWillem");
-
+ try {
+ template.sendBodyAndHeader("cxf://bean:serviceEndpoint",
ExchangePattern.InOut ,
+ params,
CxfConstants.OPERATION_NAME, "pingMe");
+ fail("Expect exception here.");
+ } catch (Exception ex) {
+ assertTrue("Get a wrong exception.", ex instanceof
CamelExecutionException);
+ assertTrue("Get a wrong exception cause. ", ex.getCause()
instanceof PingMeFault);
+ }
template.stop();
}
Modified:
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
---
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
(original)
+++
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
Fri Apr 29 02:10:02 2011
@@ -22,7 +22,8 @@ import org.apache.camel.Processor;
public class JmsPrepareRequest implements Processor {
public void process(Exchange exchange) throws Exception {
- String request = exchange.getIn().getBody(String.class);
+ String request = exchange.getIn().getBody(String.class);
+ exchange.getOut().setHeaders(exchange.getIn().getHeaders());
exchange.getOut().setBody(request);
}
Modified:
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
---
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
(original)
+++
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
Fri Apr 29 02:10:02 2011
@@ -17,12 +17,27 @@
package org.apache.camel.itest.greeter;
import org.apache.camel.Exchange;
+import org.apache.camel.Message;
import org.apache.camel.Processor;
+import org.apache.camel.component.cxf.CxfConstants;
+import org.apache.hello_world_soap_http.PingMeFault;
+import org.apache.hello_world_soap_http.types.FaultDetail;
public class JmsPrepareResponse implements Processor {
public void process(Exchange exchange) throws Exception {
- String request = exchange.getIn().getBody(String.class);
- exchange.getOut().setBody("Hello" + request);
+ Message in = exchange.getIn();
+ if ("greetMe".equals(in.getHeader(CxfConstants.OPERATION_NAME))) {
+ String request = in.getBody(String.class);
+ exchange.getOut().setBody("Hello" + request);
+ } else {
+ // throw the Exception
+ FaultDetail faultDetail = new FaultDetail();
+ faultDetail.setMajor((short)2);
+ faultDetail.setMinor((short)1);
+ exchange.getOut().setBody(new PingMeFault("PingMeFault raised by
server", faultDetail));
+ exchange.getOut().setFault(true);
+
+ }
}
}
Modified:
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
---
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
(original)
+++
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
Fri Apr 29 02:10:02 2011
@@ -91,8 +91,10 @@ public class GreeterClientTest extends A
fail("should fail");
} catch (Exception ex) {
assertTrue("Get a wrong type exception.", ex instanceof
SOAPFaultException);
- assertTrue("Get a wrong exception message",
ex.getMessage().startsWith("The security token could not be authenticated or
authorized;"));
- assertTrue("Get a wrong exception message",
ex.getMessage().endsWith("java.io.IOException: Wrong password!"));
+ System.out.println("Exception message is " + ex.getMessage());
+ assertTrue("Get a wrong exception message",
ex.getMessage().startsWith("The security token could not be authenticated or
authorized"));
+ // CXF 2.4.0 WSecurity doesn't put the authentication exception
+ //assertTrue("Get a wrong exception message",
ex.getMessage().endsWith("java.io.IOException: Wrong password!"));
}
}
Modified:
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
---
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
(original)
+++
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
Fri Apr 29 02:10:02 2011
@@ -52,10 +52,10 @@
<route>
<from uri="cxf://bean:serviceEndpoint"/>
<process ref="jmsPrepareRequest"/>
- <to uri="jms:responseQueue"/>
+ <to
uri="jms:responseQueue?transferException=true&jmsMessageType=Object"/>
</route>
<route>
- <from uri="jms:responseQueue"/>
+ <from
uri="jms:responseQueue?transferException=true&jmsMessageType=Object"/>
<process ref="jmsPrepareResponse"/>
</route>
</camelContext>
Added: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml?rev=1097669&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml (added)
+++ camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml Fri Apr
29 02:10:02 2011
@@ -0,0 +1,11 @@
+<jxb:bindings version="1.0" wsdlLocation="hello_world.wsdl"
+ xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <jxb:bindings>
+ <jxb:globalBindings>
+ <jxb:serializable/>
+ </jxb:globalBindings>
+ </jxb:bindings>
+</jxb:bindings>
Propchange: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml