From 4c2bb0cebb0caff68e32c2f32d9e4e1c0310b33e Mon Sep 17 00:00:00 2001 From: slaws Date: Tue, 20 Apr 2010 18:05:26 +0000 Subject: Add exceptions to the test and make the launchers a bit more generic git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@936018 13f79535-47bb-0310-9956-ffa450edef68 --- .../tuscany/sca/binding/ws/jaxws/HelloWorld.java | 2 + .../sca/binding/ws/jaxws/HelloWorldImpl.java | 8 ++++ .../external/client/HelloWorldClientLauncher.java | 40 ++++++++++++++--- .../src/main/resources/HelloWorldImplService.wsdl | 28 ++++++++++++ .../resources/HelloWorldImplService_schema1.xsd | 24 ++++++++++ .../jaxws/external/service/HelloWorldService.java | 4 +- .../service/HelloWorldServiceLauncher.java | 23 ++++++++-- .../ws/jaxws/launcher/JavaFirstTestCase.java | 52 +++++++++++++++++----- 8 files changed, 156 insertions(+), 25 deletions(-) (limited to 'sca-java-2.x/trunk/itest') diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java b/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java index 32f86ee30f..652f7b53c4 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java +++ b/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorld.java @@ -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); } diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java b/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java index e2c6ba4b65..85e55888c6 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java +++ b/sca-java-2.x/trunk/itest/ws-jaxws/contribution-java-first/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/HelloWorldImpl.java @@ -22,6 +22,7 @@ package org.apache.tuscany.sca.binding.ws.jaxws; 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 HelloWorld { 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); diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java b/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java index e8574d67e9..da40a7f442 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java +++ b/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/client/HelloWorldClientLauncher.java @@ -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(); } + } diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl b/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl index 8ae67d4270..0d9d17d1be 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl +++ b/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService.wsdl @@ -12,6 +12,15 @@ + + + + + + + + + @@ -23,6 +32,11 @@ + + + + + @@ -39,6 +53,18 @@ + + + + + + + + + + + + @@ -56,3 +82,5 @@ + + diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd b/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd index 00d526db82..eef9ad4ead 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd +++ b/sca-java-2.x/trunk/itest/ws-jaxws/external-client/src/main/resources/HelloWorldImplService_schema1.xsd @@ -1,14 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java b/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java index 3dd039ff3c..796ef82792 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java +++ b/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldService.java @@ -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; } diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java b/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java index fc5fd6d701..ba7e033f63 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java +++ b/sca-java-2.x/trunk/itest/ws-jaxws/external-service/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/external/service/HelloWorldServiceLauncher.java @@ -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(); + } } diff --git a/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java b/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java index 22ed3d17b4..3c14218118 100644 --- a/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java +++ b/sca-java-2.x/trunk/itest/ws-jaxws/launcher-ri/src/test/java/org/apache/tuscany/sca/binding/ws/jaxws/launcher/JavaFirstTestCase.java @@ -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 TestCase { 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 TestCase { */ } - @Override - protected void tearDown() throws Exception { + @After + public void tearDown() throws Exception { node.stop(); + externalClient.destroyClient(); + externalService.destoryService(); } } -- cgit v1.2.3