You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2010/04/20 20:05:26 UTC

svn commit: r936018 - in /tuscany/sca-java-2.x/trunk/itest/ws-jaxws: contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/ external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/ external-client/s...

Author: slaws
Date: Tue Apr 20 18:05:26 2010
New Revision: 936018

URL: http://svn.apache.org/viewvc?rev=936018&view=rev
Log:
Add exceptions to the test and make the launchers a bit more generic

Modified:
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java
    tuscany/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java Tue Apr 20 18:05:26 2010
@@ -19,11 +19,13 @@
 
 package org.apache.tuscany.sca.binding.ws.jaxws;
 
+import org.oasisopen.sca.ServiceRuntimeException;
 import org.oasisopen.sca.annotation.Remotable;
 
 @Remotable
 public interface HelloWorld {
     
     String getGreetings(String s);
+    String getGreetingsException(String s) throws ServiceRuntimeException;
     Foo getGreetingsComplex(Foo foo);
 }

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java Tue Apr 20 18:05:26 2010
@@ -22,6 +22,7 @@ package org.apache.tuscany.sca.binding.w
 import javax.jws.WebService;
 
 import org.apache.tuscany.sca.binding.ws.jaxws.external.service.jaxws.HelloWorldService;
+import org.oasisopen.sca.ServiceRuntimeException;
 import org.oasisopen.sca.annotation.Reference;
 
 @WebService
@@ -36,6 +37,13 @@ public class HelloWorldImpl implements H
         System.out.println("Leaving SCA HelloWorld.getGreetings: " + response);
         return response;
     }
+    
+    public String getGreetingsException(String s) throws ServiceRuntimeException {
+        System.out.println("Entering SCA HelloWorld.getGreetingsException: " + s);
+        String response = helloWorldExternal.getGreetings(s);
+        System.out.println("Leaving SCA HelloWorld.getGreetings: " + response);
+        throw new ServiceRuntimeException(response);
+    }    
 
     public Foo getGreetingsComplex(Foo foo){
         Foo response = null;//helloWorldExternal.getGreetingsComplex(foo);

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java Tue Apr 20 18:05:26 2010
@@ -25,23 +25,49 @@ import java.net.URL;
 import javax.xml.namespace.QName;
 import javax.xml.ws.Service;
 
+import org.apache.tuscany.sca.binding.ws.jaxws.sca.Exception_Exception;
 import org.apache.tuscany.sca.binding.ws.jaxws.sca.HelloWorldImpl;
 
 public class HelloWorldClientLauncher {
     
-    public static void main(String[] args) throws Exception {
+    public HelloWorldImpl wsProxy;
+    
+    public HelloWorldClientLauncher(){
+    }
+    
+    public void createClient() throws Exception{
         System.out.println(">>> Starting external JAXWS client ");
-                
+        
         // default JVM JAXWS support
         QName serviceName = new QName("http://jaxws.ws.binding.sca.tuscany.apache.org/", "HelloWorldImplService");
         QName portName = new QName("http://jaxws.ws.binding.sca.tuscany.apache.org/", "HelloWorldImplPort");
         //URL wsdlLocation = new File("../external-client/target/classes/helloworld-sca.wsdl").toURL();
         URL wsdlLocation = new File("../external-client/target/classes/HelloWorldImplService.wsdl").toURL();
         javax.xml.ws.Service webService = Service.create(wsdlLocation, serviceName);
-        HelloWorldImpl wsProxy = (HelloWorldImpl) webService.getPort(portName, HelloWorldImpl.class);
-        
-        String response = wsProxy.getGreetings("Fred");
-        
-        System.out.println("Leaving external JAXWS client: " + response);
+        wsProxy = (HelloWorldImpl) webService.getPort(portName, HelloWorldImpl.class);
+    }
+    
+    public void destroyClient(){
+        System.out.println(">>> Stopping external JAXWS client: ");
+        // TODO 
+    }
+    
+    public String getGreetings(String name){
+        System.out.println("Entering External Client HelloWorld.getGreetings: " + name);
+        String response = wsProxy.getGreetings(name);
+        System.out.println("Leaving External Client HelloWorld.getGreetings: " + response);
+        return response;
+    }
+    
+    public String getGreetingsException(String name) throws Exception_Exception {
+        return wsProxy.getGreetingsException(name);
+    }    
+    
+    public static void main(String[] args) throws Exception {
+        HelloWorldClientLauncher launcher = new HelloWorldClientLauncher();
+        launcher.createClient();
+        launcher.getGreetings("Fred");
+        launcher.destroyClient();
     }
+    
 }

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl Tue Apr 20 18:05:26 2010
@@ -12,6 +12,15 @@
   <message name="getGreetingsResponse">
     <part name="parameters" element="tns:getGreetingsResponse"/>
   </message>
+  <message name="getGreetingsException">
+    <part name="parameters" element="tns:getGreetingsException"/>
+  </message>
+  <message name="getGreetingsExceptionResponse">
+    <part name="parameters" element="tns:getGreetingsExceptionResponse"/>
+  </message>
+  <message name="Exception">
+    <part name="fault" element="tns:Exception"/>
+  </message>
   <message name="getGreetingsComplex">
     <part name="parameters" element="tns:getGreetingsComplex"/>
   </message>
@@ -23,6 +32,11 @@
       <input message="tns:getGreetings"/>
       <output message="tns:getGreetingsResponse"/>
     </operation>
+    <operation name="getGreetingsException">
+      <input message="tns:getGreetingsException"/>
+      <output message="tns:getGreetingsExceptionResponse"/>
+      <fault message="tns:Exception" name="Exception"/>
+    </operation>
     <operation name="getGreetingsComplex">
       <input message="tns:getGreetingsComplex"/>
       <output message="tns:getGreetingsComplexResponse"/>
@@ -39,6 +53,18 @@
         <soap:body use="literal"/>
       </output>
     </operation>
+    <operation name="getGreetingsException">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="Exception">
+        <soap:fault name="Exception" use="literal"/>
+      </fault>
+    </operation>
     <operation name="getGreetingsComplex">
       <soap:operation soapAction=""/>
       <input>
@@ -56,3 +82,5 @@
   </service>
 </definitions>
 
+
+

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd Tue Apr 20 18:05:26 2010
@@ -1,14 +1,38 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <xs:schema version="1.0" targetNamespace="http://jaxws.ws.binding.sca.tuscany.apache.org/" xmlns:tns="http://jaxws.ws.binding.sca.tuscany.apache.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
+  <xs:element name="Exception" type="tns:Exception"/>
+
   <xs:element name="getGreetings" type="tns:getGreetings"/>
 
   <xs:element name="getGreetingsComplex" type="tns:getGreetingsComplex"/>
 
   <xs:element name="getGreetingsComplexResponse" type="tns:getGreetingsComplexResponse"/>
 
+  <xs:element name="getGreetingsException" type="tns:getGreetingsException"/>
+
+  <xs:element name="getGreetingsExceptionResponse" type="tns:getGreetingsExceptionResponse"/>
+
   <xs:element name="getGreetingsResponse" type="tns:getGreetingsResponse"/>
 
+  <xs:complexType name="getGreetingsException">
+    <xs:sequence>
+      <xs:element name="arg0" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getGreetingsExceptionResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="Exception">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
   <xs:complexType name="getGreetings">
     <xs:sequence>
       <xs:element name="arg0" type="xs:string" minOccurs="0"/>

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java Tue Apr 20 18:05:26 2010
@@ -35,9 +35,9 @@ public class HelloWorldService {
     @ResponseWrapper(localName = "getGreetingsResponse", targetNamespace = "http://helloworld/external", className = "org.apache.tuscany.sca.binding.ws.jaxws.external.service.GetGreetingsResponse")
     public String getGreetings( @WebParam(name = "name", targetNamespace = "http://helloworld/external")
                                 String name) {
-        System.out.println("Entering External HelloWorld.getGreetings: " + name);
+        System.out.println("Entering External Service HelloWorld.getGreetings: " + name);
         String response = "Hello " + name;
-        System.out.println("Leaving External HelloWorld.getGreetings: " + response);
+        System.out.println("Leaving External Service HelloWorld.getGreetings: " + response);
         return response;
     }
 

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java Tue Apr 20 18:05:26 2010
@@ -23,12 +23,27 @@ import javax.xml.ws.Endpoint;
 
 public class HelloWorldServiceLauncher {
     
-    public static void main(String[] args) throws Exception {
+    public Endpoint endpoint;
+    
+    public HelloWorldServiceLauncher(){
+        
+    }
+    
+    public void createService(){
         System.out.println(">>> Starting external JAXWS service at http://localhost:8086/External/HelloWorld");
         
         // default JVM JAXWS support. 
-        Endpoint.publish("http://localhost:8086/External/HelloWorld",
-                         new HelloWorldService());
-
+        endpoint= Endpoint.publish("http://localhost:8086/External/HelloWorld",
+                                   new HelloWorldService());
+    }
+    
+    public void destoryService(){
+        System.out.println(">>> Stopping external JAXWS service at http://localhost:8086/External/HelloWorld");
+        endpoint.stop();
     }
+    
+    public static void main(String[] args) throws Exception {
+        HelloWorldServiceLauncher launcher = new HelloWorldServiceLauncher();
+        launcher.createService();
+    }    
 }

Modified: tuscany/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java?rev=936018&r1=936017&r2=936018&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java Tue Apr 20 18:05:26 2010
@@ -19,26 +19,42 @@
 
 package org.apache.tuscany.sca.binding.ws.jaxws.launcher;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
 import org.apache.tuscany.sca.binding.ws.jaxws.external.client.HelloWorldClientLauncher;
 import org.apache.tuscany.sca.binding.ws.jaxws.external.service.HelloWorldServiceLauncher;
 import org.apache.tuscany.sca.node.Contribution;
 import org.apache.tuscany.sca.node.Node;
 import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-public class JavaFirstTestCase extends TestCase {
+public class JavaFirstTestCase {
 
     private Node node;
+    private HelloWorldServiceLauncher externalService;
+    private HelloWorldClientLauncher externalClient;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         // Start the external service
-        HelloWorldServiceLauncher.main(null);
+        externalService = new HelloWorldServiceLauncher();
+        externalService.createService();
        
         // Start the SCA contribution
         node = NodeFactory.newInstance().createNode(new Contribution("java-first", "../contribution-java-first/target/classes"));
         node.start();
+        
+        // start the external client
+        try {
+            externalClient = new HelloWorldClientLauncher();
+            externalClient.createClient();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw ex;
+        }
     }
 
 /*    
@@ -46,16 +62,26 @@ public class JavaFirstTestCase extends T
         System.out.println("Press a key");
         System.in.read();
     }
-*/    
+*/
+    
+    @Test
+    public void testGetGreetings() throws Exception {
+        assertEquals("Hello Fred", externalClient.getGreetings("Fred"));
+    }
     
-    public void testCalculator() throws Exception {
+    @Test
+    public void testGetGreetingsException() throws Exception {
         try {
-            HelloWorldClientLauncher.main(null);
+            externalClient.getGreetingsException("Fred");
         } catch (Exception ex) {
-            ex.printStackTrace();
-            throw ex;
+            return;
         }
         
+        fail("expecting exception");
+    }
+    
+    public void testGetGreetingsComplex() throws Exception {    
+        
 /*        
         Foo f = new Foo();
         Bar b1 = new Bar();
@@ -83,9 +109,11 @@ public class JavaFirstTestCase extends T
 */
     }  
     
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         node.stop();
+        externalClient.destroyClient();
+        externalService.destoryService();
     }
 
 }