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>