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 2009/03/21 04:00:23 UTC

svn commit: r756866 - in /servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test: java/org/apache/servicemix/cxfbc/ resources/org/apache/servicemix/cxfbc/provider/

Author: ffang
Date: Sat Mar 21 03:00:22 2009
New Revision: 756866

URL: http://svn.apache.org/viewvc?rev=756866&view=rev
Log:
[SMXCOMP-480]add test to demostrate cxf proxy works as designed when the proxy target isn't there

Added:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java   (with props)
Modified:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java?rev=756866&r1=756865&r2=756866&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java Sat Mar 21 03:00:22 2009
@@ -94,6 +94,27 @@
         
     }
     
+    public void testTargetServiceNotExist() throws Exception {
+        client = new DefaultServiceMixClient(jbi);
+        io = client.createInOutExchange();
+        io.setService(new QName("http://apache.org/hello_world_soap_http", "SOAPServiceProvider"));
+        io.setInterfaceName(new QName("http://apache.org/hello_world_soap_http", "Greeter"));
+        io.setOperation(new QName("http://apache.org/hello_world_soap_http", "greetMe"));
+        //send message to proxy
+        io.getInMessage().setContent(new StringSource(
+                "<message xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
+              + "<part> "
+              + "<greetMe xmlns='http://apache.org/hello_world_soap_http/types'><requestType>"
+              + "ffang with no targetServie"
+              + "</requestType></greetMe>"
+              + "</part> "
+              + "</message>"));
+        client.sendSync(io);
+        assertTrue(new SourceTransformer().contentToString(
+                io.getOutMessage()).indexOf("Could not find route for exchange") >= 0);
+        
+    }
+    
     public void testProvider() throws Exception {
         LOG.info("test provider");
            

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java?rev=756866&r1=756865&r2=756866&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java Sat Mar 21 03:00:22 2009
@@ -47,6 +47,7 @@
 public class GreeterImplForProvider implements Greeter {
     private ComponentContext context;
     private CalculatorPortType calculator;
+    private NoServicePortType calculatorNotExist;
     private Greeter greeter;
     private Greeter securityGreeter;
     private HelloPortType hello;
@@ -90,7 +91,10 @@
                 }
             } else if ("ffang with no server".equals(me)) {
                 //should catch exception since external server is stop
+                ret = "no server";
                 getCalculator().add(1, 2);
+            } else if ("ffang with no targetServie".equals(me)) {
+                getCalculatorNotExist().add(1, 2);
             }
                         
         } catch (AddNumbersFault e) {
@@ -101,7 +105,11 @@
         } catch (InterruptedException e) {
             //
         } catch (Exception e) {
-            ret = ret + "server is stop";
+            if ("no server".equals(ret)) {
+                ret = "server is stop";
+            } else {
+                ret = e.getMessage();
+            }
         }
         return "Hello " + me  + " " + ret;
     }
@@ -237,6 +245,15 @@
     }
 
 
+    public void setCalculatorNotExist(NoServicePortType calculatorNotExist) {
+        this.calculatorNotExist = calculatorNotExist;
+    }
+
+    public NoServicePortType getCalculatorNotExist() {
+        return calculatorNotExist;
+    }
+
+
     class MultiClientThread extends Thread {
         private CalculatorPortType port;
         private int index;

Added: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java?rev=756866&view=auto
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java (added)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java Sat Mar 21 03:00:22 2009
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.servicemix.cxfbc;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+import org.apache.cxf.calculator.AddNumbersFault;
+
+@WebService(targetNamespace = "http://apache.org/cxf/calculator", name = "NoServicePortType")
+public interface NoServicePortType {
+    @ResponseWrapper(localName = "addNumbersResponse", 
+        targetNamespace = "http://apache.org/cxf/calculator/types", 
+        className = "org.apache.cxf.calculator.types.AddNumbersResponse")
+    @RequestWrapper(localName = "add", 
+        targetNamespace = "http://apache.org/cxf/calculator/types", 
+        className = "org.apache.cxf.calculator.types.AddNumbers")
+    @WebResult(name = "return", targetNamespace = "http://apache.org/cxf/calculator/types")
+    @WebMethod
+    int add(
+        @WebParam(name = "arg0", targetNamespace = "http://apache.org/cxf/calculator/types")
+        int arg0,
+        @WebParam(name = "arg1", targetNamespace = "http://apache.org/cxf/calculator/types")
+        int arg1
+    ) throws AddNumbersFault;
+}

Propchange: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/NoServicePortType.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml?rev=756866&r1=756865&r2=756866&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml Sat Mar 21 03:00:22 2009
@@ -32,6 +32,9 @@
               <property name="calculator">
                   <cxfse:proxy service="calculator:CalculatorService" context="#context" type="org.apache.cxf.calculator.CalculatorPortType"/>
               </property>
+              <property name="calculatorNotExist">
+                  <cxfse:proxy service="calculator:ServiceNotExist" endpoint="notExist" context="#context" type="org.apache.servicemix.cxfbc.NoServicePortType"/>
+              </property>
               <property name="greeter">
                   <cxfse:proxy service="greetr:SOAPService" context="#context" type="org.apache.hello_world_soap_http.Greeter"/>
               </property>