Hello World Web Service and Reference using SDO Sample ====================================================== This sample demonstrates an SCA service and reference that use a web service binding which works with SDO. The README in the samples directory (the directory above this) provides general instructions about building and running samples. Take a look there first. To run this sample ------------------ This sample includes both a server and a client. First, open a command prompt to start the server. If you are running ant do the following: cd helloworld-ws-sdo ant run-server OR if you don't have ant, on Windows do java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-ws-sdo.jar helloworld.HelloWorldServer and on *nix do java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-ws-sdo.jar helloworld.HelloWorldServer You should see the following output: Buildfile: build.xml run-server: [java] 30-Sep-2010 14:45:13 org.apache.tuscany.sca.node.impl.NodeImpl [java] INFO: Creating node: helloworldws.composite [java] 30-Sep-2010 14:45:13 org.apache.tuscany.sca.node.impl.NodeImpl configureNode [java] INFO: Loading contribution: file:/E:/td/test161b/samples/helloworld-ws-sdo/target/sample-helloworld-ws-sdo.jar [java] 30-Sep-2010 14:45:15 org.apache.tuscany.sca.node.impl.NodeImpl start [java] INFO: Starting node: helloworldws.composite [java] 30-Sep-2010 14:45:16 org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping [java] INFO: Added Servlet mapping: http://GrosMorne:8085/HelloWorldService [java] HelloWorld server started (press enter to shutdown) The server is now ready. Now, open another command window to run the client. cd helloworld-ws-sdo ant run OR if you don't have ant, on Windows do java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-ws-sdo.jar helloworld.HelloWorldClient and on *nix do java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-ws-sdo.jar helloworld.HelloWorldClient You should be able to see the following result: Buildfile: build.xml run: [java] 30-Sep-2010 14:45:21 org.apache.tuscany.sca.node.impl.NodeImpl [java] INFO: Creating node: helloworldwsclient.composite [java] 30-Sep-2010 14:45:21 org.apache.tuscany.sca.node.impl.NodeImpl configureNode [java] INFO: Loading contribution: file:/E:/td/test161b/samples/helloworld-ws-sdo/target/sample-helloworld-ws-sdo.jar [java] 30-Sep-2010 14:45:23 org.apache.tuscany.sca.node.impl.NodeImpl start [java] INFO: Starting node: helloworldwsclient.composite [java] Injected helloWorldService [java] Called getGreetings [java] Hello David Haney BUILD SUCCESSFUL Total time: 9 seconds Sample Overview --------------- The sample provides a server component that exposes a service using a web service binding, and a client component with a reference that invokes the service using a web service binding. The binding refers to WSDL that describes the service. helloworld-ws-sdo/ src/ main/ java/ helloworld/ HelloWorldService.java - interface description for HelloWorldServiceComponent and HelloWorldImpl HelloWorldServiceComponent.java - client component implementation HelloWorldImpl.java - server component implementation HelloWorldServer.java - starts the SCA Runtime and deploys the helloworldws .composite and then waits for the service to be called via web services HelloWorldClient.java - starts the SCA Runtime and deploys the helloworldwsclient .composite. It then calls the HelloWorldServiceComponent resources/ wsdl helloworld.wsdl - the service description that the SCA reference uses to bind to service. helloworldws.composite - the SCA assembly for the server helloworldwsclient.composite - the SCA assembly for the client test/ java/ helloworld/ HelloWorldClientTestCase.java - JUnit test case HelloWorldTestServer.java - server launched by the JUnit test case helloworld-ws-sdo.png - a pictorial representation of the sample .composite file build.xml - the Ant build file pom.xml - the Maven build file Building And Running The Sample Using Ant ----------------------------------------- You can build and run the sample with the binary distribution using Ant. Enter the following commands: cd helloworld-ws-sdo ant To run the sample, you need to run the server and then run the client. First, run the server. cd helloworld-ws-sdo ant run-server In a separate command prompt, run the client. cd helloworld-ws-sdo ant run You should see the following output from the run target. run: [java] Injected helloWorldService [java] Called getGreetings [java] Hello David Haney Building And Running The Sample Using Maven ------------------------------------------- You can build and run the sample with either the binary or source distributions using Maven. Please note that you do not need to start the server in this case since Maven does this for you. Enter the following commands: cd helloworld-ws-sdo mvn You should see the following output from the test phase. ------------------------------------------------------- T E S T S ------------------------------------------------------- Running helloworld.HelloWorldClientTestCase log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAX Utils). log4j:WARN Please initialize the log4j system properly. log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAX Utils). log4j:WARN Please initialize the log4j system properly. Aug 23, 2007 2:27:32 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.10 Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.ContextConfig defaultWebConf ig INFO: No default web.xml Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_0.xsd Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_ 1.dtd Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_ 2.dtd Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_2_ 0.xsd Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/resources/j2ee_web_services_1_1.xs d Aug 23, 2007 2:27:32 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8085 Aug 23, 2007 2:27:32 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8085 Aug 23, 2007 2:27:32 PM org.apache.tuscany.sca.http.tomcat.TomcatServer addServl etMapping INFO: Added Servlet mapping: http://localhost:8085/HelloWorldService Injected helloWorldService Called getGreetings Aug 23, 2007 2:27:34 PM org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8085 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.502 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 This shows that the Junit test cases have run successfully.