Callback Web Services Service Sample =================================== This sample demonstrates an SCA service with callback to a remote client using Web service bindings for the service and the callback. The README in the samples directory (the directory above this) provides general instructions about building and running samples. Take a look there first. If you just want to run it to see what happens open a command prompt, navigate to this sample directory and do: ant run OR if you don't have ant, on Windows do: java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-callback-ws-service.jar myserver.CallbackServer and on *nix do: java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-callback-ws-service.jar myserver.CallbackServer Now the server is started you can use the callback-ws-client sample to exercise it. Sample Overview --------------- The sample has a single component that provides a service that is invoked from a remote client over Web services and makes an SCA callback over Web services to the same remote client. callback-ws-service/ src/ main/ java/ myserver/ MyService.java - interface description for MyServiceComponent MyServiceCallback.java - interface description for callback NyServiceImpl.java - component implementation CallbackServer.java - starts the SCA runtime and deploys the callbackws.composite and then waits for the service to be called via Web services resources/ callbackws.composite - the SCA assembly for this sample test/ java/ myserver/ CallbackServerTestCase.java - JUnit test case callback-ws-service.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 ----------------------------------------- With the binary distribution the sample can be built and run using Ant with the following commands: cd callback-ws-service ant compile ant run You should see the following output from the run target: run: [java] 12-Nov-2007 17:05:38 org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping [java] INFO: Added Servlet mapping: http://EUREKA:8086/MyServiceComponent [java] Callback server started (press enter to shutdown) As this point the SCA service is exposed as a Web service by a Web server started automatically by the SCA runtime. To stop the server, press enter. To exercise the service, run the callback-ws-client sample. Take a look at the README in that sample and you will see you need the following commands: cd callback-ws-client ant run Building And Running The Sample Using Maven ------------------------------------------- With either the binary or source distributions the sample can be built and run using Maven as follows. When using Maven you don't need to run the callback-ws-client sample as the Maven build uses a simple ping test to make sure that the service is available. cd callback-ws-service mvn You should see the following output from the test phase: ------------------------------------------------------- T E S T S ------------------------------------------------------- Running myserver.CallbackServerTestCase 18-Nov-2007 15:48:25 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.10 18-Nov-2007 15:48:26 org.apache.catalina.startup.ContextConfig defaultWebConfig INFO: No default web.xml 18-Nov-2007 15:48:26 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8086 18-Nov-2007 15:48:26 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8086 18-Nov-2007 15:48:26 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletMapping INFO: Added Servlet mapping: http://EUREKA:8086/MyServiceComponent 18-Nov-2007 15:48:26 org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8086 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.134 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 This shows that the Junit test cases have run successfully.