Author: ningjiang
Date: Tue Jul 15 22:00:23 2008
New Revision: 677156
URL: http://svn.apache.org/viewvc?rev=677156&view=rev
Log:
CAMEL-727 Applied the test patch with thanks to William
Modified:
activemq/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/customerrelations/CustomerServicesTest.java
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/client-applicationContext.xml
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/server-applicationContext.xml
Modified:
activemq/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/customerrelations/CustomerServicesTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/customerrelations/CustomerServicesTest.java?rev=677156&r1=677155&r2=677156&view=diff
==============================================================================
---
activemq/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/customerrelations/CustomerServicesTest.java
(original)
+++
activemq/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/customerrelations/CustomerServicesTest.java
Tue Jul 15 22:00:23 2008
@@ -16,7 +16,19 @@
*/
package org.apache.camel.itest.customerrelations;
+import java.lang.reflect.Proxy;
+import java.util.List;
+import java.util.Map;
+
import junit.framework.TestCase;
+
+import org.apache.cxf.helpers.CastUtils;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.jaxws.EndpointImpl;
+import org.apache.cxf.jaxws.JaxWsClientProxy;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+import org.apache.cxf.phase.Phase;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class CustomerServicesTest extends TestCase {
@@ -29,10 +41,19 @@
new String[] {"spring-config/server-applicationContext.xml"});
Object server =
serverContext.getBean("org.apache.camel.itest.customerrelations.CustomerServiceV1");
assertNotNull("We should get server here", server);
-
+
+ // add an interceptor to verify headers
+
EndpointImpl.class.cast(server).getServer().getEndpoint().getInInterceptors()
+ .add(new HeaderChecker(Phase.PRE_STREAM));
+
clientContext = new ClassPathXmlApplicationContext(
new String[] {"spring-config/client-applicationContext.xml"});
CustomerServiceV1 customerService = (CustomerServiceV1)
clientContext.getBean("org.apache.camel.itest.customerrelations.CustomerServiceV1");
+
+ // add an interceptor to verify headers
+
JaxWsClientProxy.class.cast(Proxy.getInvocationHandler(customerService))
+ .getClient().getInInterceptors().add(new
HeaderChecker(Phase.PRE_STREAM));
+
Customer customer = customerService.getCustomer("12345");
assertNotNull("We should get Customer here", customer);
} finally {
@@ -44,5 +65,17 @@
}
}
}
-
+
+ class HeaderChecker extends AbstractPhaseInterceptor<Message> {
+ public HeaderChecker(String phase) {
+ super(phase);
+ }
+
+ public void handleMessage(Message message) throws Fault {
+ Map<String, List<String>> headers
+ = CastUtils.cast((Map<?,
?>)message.get(Message.PROTOCOL_HEADERS));
+ assertNotNull(headers);
+ assertEquals("\"getCustomer\"", headers.get("SOAPAction").get(0));
+ }
+ }
}
Modified:
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/client-applicationContext.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/client-applicationContext.xml?rev=677156&r1=677155&r2=677156&view=diff
==============================================================================
---
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/client-applicationContext.xml
(original)
+++
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/client-applicationContext.xml
Tue Jul 15 22:00:23 2008
@@ -22,22 +22,11 @@
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
http://cxf.apache.org/transports/camel
http://cxf.apache.org/transports/camel.xsd">
- <import resource="classpath:META-INF/cxf/cxf.xml" />
+ <import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-camel.xml" />
-
- <import
- resource="classpath:spring-config/jms-applicationContext.xml" />
-
- <bean
class="org.apache.camel.component.cxf.transport.CamelTransportFactory"
lazy-init="true">
- <property name="bus" ref="cxf"/>
- <property name="camelContext" ref="camelContext"/>
- <property name="transportIds">
- <list>
- <value>http://cxf.apache.org/transports/camel</value>
- </list>
- </property>
- </bean>
+
+ <import resource="classpath:spring-config/jms-applicationContext.xml" />
<client id="org.apache.camel.itest.customerrelations.CustomerServiceV1"
xmlns="http://cxf.apache.org/jaxws"
@@ -45,7 +34,8 @@
serviceName="customer:CustomerServiceV1"
endpointName="customer:CustomerServiceV1CamelPort"
serviceClass="org.apache.camel.itest.customerrelations.CustomerServiceV1"
-
wsdlLocation="./src/main/resources/wsdl/CustomerService-1.0.0.wsdl">
+ address="camel://direct:clientOutbound">
+
<features>
<!-- Enables logging of SOAP messages. -->
<logging xmlns="http://cxf.apache.org/core" />
@@ -61,7 +51,7 @@
xmlns="http://activemq.apache.org/camel/schema/spring">
<jmxAgent id="agent" disabled="true"/>
<route>
- <from
uri="direct:org.apache.camel.itest.customerrelations.CustomerServiceV1" />
+ <from uri="direct:clientOutbound" />
<to
uri="jms://org.apache.camel.itest.customerrelations.CustomerServiceV1" />
</route>
Modified:
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/server-applicationContext.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/server-applicationContext.xml?rev=677156&r1=677155&r2=677156&view=diff
==============================================================================
---
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/server-applicationContext.xml
(original)
+++
activemq/camel/trunk/tests/camel-itest/src/test/resources/spring-config/server-applicationContext.xml
Tue Jul 15 22:00:23 2008
@@ -29,8 +29,7 @@
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-camel.xml" />
- <import
- resource="classpath:spring-config/jms-applicationContext.xml" />
+ <import resource="classpath:spring-config/jms-applicationContext.xml" />
<broker:broker useJmx="false" persistent="false" brokerName="localhost">
<broker:transportConnectors>
@@ -38,22 +37,12 @@
</broker:transportConnectors>
</broker:broker>
- <bean
class="org.apache.camel.component.cxf.transport.CamelTransportFactory"
lazy-init="true">
- <property name="bus" ref="cxf"/>
- <property name="camelContext" ref="camelContext"/>
- <property name="transportIds">
- <list>
- <value>http://cxf.apache.org/transports/camel</value>
- </list>
- </property>
- </bean>
-
<endpoint xmlns="http://cxf.apache.org/jaxws"
id="org.apache.camel.itest.customerrelations.CustomerServiceV1"
xmlns:customer="http://camel.apache.org/itest/customerrelations"
serviceName="customer:CustomerServiceV1"
endpointName="customer:CustomerServiceV1CamelPort"
-
address="camel://direct:org.apache.camel.itest.customerrelations.CustomerServiceV1"
+ address="camel://direct:serverInbound"
implementor="org.apache.camel.itest.customerrelations.CustomerServiceV1Impl">
<features>
<!-- Enables logging of SOAP messages. -->
@@ -73,7 +62,7 @@
<from
uri="jms://org.apache.camel.itest.customerrelations.CustomerServiceV1" />
<to
-
uri="direct:org.apache.camel.itest.customerrelations.CustomerServiceV1" />
+ uri="direct:serverInbound" />
</route>
</camelContext>
</beans>