You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2008/01/10 04:44:00 UTC
svn commit: r610661 - in
/servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src:
main/java/org/apache/servicemix/cxfse/CxfSeEndpoint.java
test/java/org/apache/servicemix/cxfse/CxfSeSpringTest.java
Author: ffang
Date: Wed Jan 9 19:43:45 2008
New Revision: 610661
URL: http://svn.apache.org/viewvc?rev=610661&view=rev
Log:
[SM-1193]Cxf Se endpoint should support the interfaceName is null in the incoming exchange
Modified:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/CxfSeEndpoint.java
servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/test/java/org/apache/servicemix/cxfse/CxfSeSpringTest.java
Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/CxfSeEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/CxfSeEndpoint.java?rev=610661&r1=610660&r2=610661&view=diff
==============================================================================
--- servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/CxfSeEndpoint.java (original)
+++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/CxfSeEndpoint.java Wed Jan 9 19:43:45 2008
@@ -181,9 +181,19 @@
JBITransportFactory jbiTransportFactory = (JBITransportFactory) getBus()
.getExtension(ConduitInitiatorManager.class)
.getConduitInitiator(CxfSeComponent.JBI_TRANSPORT_ID);
+ QName serviceName = exchange.getService();
+ if (serviceName == null) {
+ serviceName = getService();
+ exchange.setService(serviceName);
+ }
+ QName interfaceName = exchange.getInterfaceName();
+ if (interfaceName == null) {
+ interfaceName = getInterfaceName();
+ exchange.setInterfaceName(interfaceName);
+ }
JBIDestination jbiDestination = jbiTransportFactory
- .getDestination(exchange.getService().toString()
- + exchange.getInterfaceName().toString());
+ .getDestination(serviceName.toString()
+ + interfaceName.toString());
DeliveryChannel dc = getContext().getDeliveryChannel();
jbiTransportFactory.setDeliveryChannel(dc);
jbiDestination.setDeliveryChannel(dc);
@@ -254,7 +264,6 @@
public void stop() throws Exception {
ReflectionUtils.callLifecycleMethod(getPojo(), PreDestroy.class);
JBIDispatcherUtil.clean();
- //getBus().shutdown(true);
JBITransportFactory jbiTransportFactory = (JBITransportFactory) getBus()
.getExtension(ConduitInitiatorManager.class)
.getConduitInitiator(CxfSeComponent.JBI_TRANSPORT_ID);
Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/test/java/org/apache/servicemix/cxfse/CxfSeSpringTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/test/java/org/apache/servicemix/cxfse/CxfSeSpringTest.java?rev=610661&r1=610660&r2=610661&view=diff
==============================================================================
--- servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/test/java/org/apache/servicemix/cxfse/CxfSeSpringTest.java (original)
+++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-cxf-se/src/test/java/org/apache/servicemix/cxfse/CxfSeSpringTest.java Wed Jan 9 19:43:45 2008
@@ -34,10 +34,7 @@
protected void setUp() throws Exception {
super.setUp();
client = new DefaultServiceMixClient(jbi);
- io = client.createInOutExchange();
- io.setService(new QName("http://apache.org/cxf/calculator", "CalculatorService"));
- io.setInterfaceName(new QName("http://apache.org/cxf/calculator", "CalculatorPortType"));
- io.setOperation(new QName("http://apache.org/cxf/calculator", "add"));
+
}
protected void tearDown() throws Exception {
@@ -45,6 +42,10 @@
}
public void testCalculator() throws Exception {
+ io = client.createInOutExchange();
+ io.setService(new QName("http://apache.org/cxf/calculator", "CalculatorService"));
+ io.setInterfaceName(new QName("http://apache.org/cxf/calculator", "CalculatorPortType"));
+ io.setOperation(new QName("http://apache.org/cxf/calculator", "add"));
io.getInMessage().setContent(new StringSource(
"<message xmlns=\"http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper\">"
+ " <part>"
@@ -62,7 +63,29 @@
assertTrue(new SourceTransformer().contentToString(
io.getOutMessage()).indexOf("xmlns:msg=\"http://apache.org/cxf/calculator\"") >= 0);
}
-
+
+ public void testCalculatorWithoutInterfaceName() throws Exception {
+ io = client.createInOutExchange();
+ io.setService(new QName("http://apache.org/cxf/calculator", "CalculatorService"));
+ io.setOperation(new QName("http://apache.org/cxf/calculator", "add"));
+ io.getInMessage().setContent(new StringSource(
+ "<message xmlns=\"http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper\">"
+ + " <part>"
+ + " <add xmlns='http://apache.org/cxf/calculator/types'>"
+ + " <arg0>1</arg0>"
+ + " <arg1>2</arg1>"
+ + " </add>"
+ + " </part>"
+ + "</message>"));
+ client.sendSync(io);
+ //the return message should have type as well
+
+ assertTrue(new SourceTransformer().contentToString(
+ io.getOutMessage()).indexOf("type=\"msg:addResponse\"") >= 0);
+ assertTrue(new SourceTransformer().contentToString(
+ io.getOutMessage()).indexOf("xmlns:msg=\"http://apache.org/cxf/calculator\"") >= 0);
+ }
+
@Override