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 2010/10/08 11:11:53 UTC

svn commit: r1005739 - in /servicemix/components/engines/servicemix-cxf-se/trunk/src: main/java/org/apache/servicemix/cxfse/ test/java/org/apache/servicemix/cxfse/

Author: ffang
Date: Fri Oct  8 09:11:53 2010
New Revision: 1005739

URL: http://svn.apache.org/viewvc?rev=1005739&view=rev
Log:
[SMXCOMP-812]One-way service method MEP gets NPE on proxy invocation

Modified:
    servicemix/components/engines/servicemix-cxf-se/trunk/src/main/java/org/apache/servicemix/cxfse/CxfSeComponent.java
    servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java
    servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/main/java/org/apache/servicemix/cxfse/CxfSeComponent.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/main/java/org/apache/servicemix/cxfse/CxfSeComponent.java?rev=1005739&r1=1005738&r2=1005739&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/main/java/org/apache/servicemix/cxfse/CxfSeComponent.java (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/main/java/org/apache/servicemix/cxfse/CxfSeComponent.java Fri Oct  8 09:11:53 2010
@@ -84,6 +84,7 @@ public class CxfSeComponent extends Defa
         } 
         if (bus == null) {
             bus = new SpringBusFactory().createBus(CXF_CONFIG);
+            bus.getProperties().put(org.apache.cxf.interceptor.OneWayProcessorInterceptor.USE_ORIGINAL_THREAD, "true");
         }
         super.doInit();
     }

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java?rev=1005739&r1=1005738&r2=1005739&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java Fri Oct  8 09:11:53 2010
@@ -20,6 +20,7 @@ import java.io.File;
 import java.net.URL;
 import java.util.logging.Logger;
 
+import javax.jbi.messaging.InOnly;
 import javax.jbi.messaging.InOut;
 import javax.naming.InitialContext;
 import javax.xml.namespace.QName;
@@ -40,6 +41,7 @@ public class CxfSeClientProxyTest extend
     private static final Logger LOG = LogUtils.getL7dLogger(CxfSeClientProxyTest.class);
     private DefaultServiceMixClient client;
     private InOut io;
+    private InOnly inOnly;
     private JBIContainer container;
     
     protected void setUp() throws Exception {
@@ -65,7 +67,7 @@ public class CxfSeClientProxyTest extend
         component.getServiceUnitManager().deploy("target", getServiceUnitPath("proxytarget"));
         component.getServiceUnitManager().init("target", getServiceUnitPath("proxytarget"));
         component.getServiceUnitManager().start("target");
-        
+              
         component.getServiceUnitManager().deploy("proxy", getServiceUnitPath("proxy"));
         component.getServiceUnitManager().init("proxy", getServiceUnitPath("proxy"));
         component.getServiceUnitManager().start("proxy");
@@ -152,7 +154,24 @@ public class CxfSeClientProxyTest extend
                 io.getOutMessage()).indexOf("Hello ffang") > 0);
         client.done(io);
         
-        
+        client = new DefaultServiceMixClient(container);
+        inOnly = client.createInOnlyExchange();
+        inOnly.setService(new QName("http://apache.org/hello_world_soap_http", "SOAPService"));
+        inOnly.setInterfaceName(new QName("http://apache.org/hello_world_soap_http", "Greeter"));
+        inOnly.setOperation(new QName("http://apache.org/hello_world_soap_http", "greetMeOneWay"));
+        LOG.info("test clientProxy with OneWay");
+        inOnly.getInMessage().setContent(new StringSource(
+                "<message xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
+              + "<part> "
+              + "<greetMeOneWay xmlns='http://apache.org/hello_world_soap_http/types'><requestType>"
+              + "oneway"
+              + "</requestType></greetMeOneWay>"
+              + "</part> "
+              + "</message>"));
+        client.sendSync(inOnly);
+       
+        //sleep 2sec so that done message is sent before shutdown container
+        Thread.sleep(2000);
         
     }
     

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java?rev=1005739&r1=1005738&r2=1005739&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java Fri Oct  8 09:11:53 2010
@@ -54,6 +54,7 @@ public class GreeterImplForClientProxy i
     private CalculatorPortType calculator;
     private CalculatorPortType calculatorPayload;
     private TestMtom mtom;    
+   
 
     public String greetMe(String me) {
         int ret = 0;
@@ -87,7 +88,7 @@ public class GreeterImplForClientProxy i
                 Holder<String> name = new Holder<String>("property");
                 mtom.testXop(name, param);
                 return (String) ((BindingProvider)mtom).getResponseContext().get("test-property");
-            }
+            } 
         } catch (AddNumbersFault e) {
             return "AddNumbersFault";
                         
@@ -140,7 +141,12 @@ public class GreeterImplForClientProxy i
     }
 
     public void greetMeOneWay(String requestType) {
-        // TODO Auto-generated method stub
+        System.out.println("greetMeOneWay get invoked");
+        try {
+            getCalculator().add(1, 2);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         
     }
 
@@ -218,6 +224,6 @@ public class GreeterImplForClientProxy i
 
     public CalculatorPortType getCalculatorPayload() {
         return calculatorPayload;
-    } 
+    }
 
 }