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] 15-Jan-2008 10:21:14 org.apache.tuscany.sca.node.impl.SCADomainProxy Impl init [java] INFO: Domain will be started stand-alone as domain URL is not provid ed [java] 15-Jan-2008 10:21:14 org.apache.tuscany.sca.domain.impl.SCADomainImp l registerNode [java] INFO: Registered node: http://L3AW203:1331 at endpoint http://L3AW20 3:1331 [java] 15-Jan-2008 10:21:14 org.apache.tuscany.sca.node.impl.SCADomainProxy Impl createRuntime [java] INFO: Domain management configured from file:/C:/simon/tuscany/relea se/sca-r1.1-rc2/tuscany-sca-1.1-incubating-SNAPSHOT/lib/tuscany-sca-all-1.1-incu bating-SNAPSHOT.jar [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [java] INFO: Added Servlet mapping: http://L3AW203:1331/SCADomainEventServi ceProxyComponent [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [java] INFO: Added Servlet mapping: http://L3AW203:1331/SCADomainAPIService ProxyComponent [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [java] INFO: Added Servlet mapping: http://L3AW203:1331/SCANodeManagerCompo nent/SCANodeManagerService [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [java] INFO: Added Servlet mapping: http://L3AW203:1331/SCANodeManagerCompo nent/ComponentManagerService/* [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [java] INFO: Added Servlet mapping: http://L3AW203:1331/SCANodeManagerCompo nent/ComponentManagerService [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [java] INFO: Added Servlet mapping: http://L3AW203:1331/SCADomain/scaDomain .js [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.node.impl.SCANodeImpl ac tivateComposite [java] INFO: Building composite: {http://callbackws}callbackws [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor [java] 15-Jan-2008 10:21:24 org.apache.tuscany.sca.node.impl.SCANodeImpl st artComposite [java] INFO: Starting composite: {http://callbackws}callbackws [java] 15-Jan-2008 10:21:26 org.apache.tuscany.sca.http.jetty.JettyServer a ddServletMapping [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 15-Jan-2008 10:29:36 org.apache.tuscany.sca.node.impl.SCADomainProxyImpl init INFO: Domain will be started stand-alone as domain URL is not provided 15-Jan-2008 10:29:36 org.apache.tuscany.sca.domain.impl.SCADomainImpl registerNo de INFO: Registered node: http://L3AW203:1365 at endpoint http://L3AW203:1365 15-Jan-2008 10:29:36 org.apache.tuscany.sca.node.impl.SCADomainProxyImpl createR untime INFO: Domain management configured from file:/C:/Documents%20and%20Settings/slaw s/.m2/repository/org/apache/tuscany/sca/tuscany-node-impl/1.1-incubating-SNAPSHO T/tuscany-node-impl-1.1-incubating-SNAPSHOT.jar 15-Jan-2008 10:29:42 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.10 15-Jan-2008 10:29:42 org.apache.catalina.startup.ContextConfig defaultWebConfig INFO: No default web.xml 15-Jan-2008 10:29:42 org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_0.xsd 15-Jan-2008 10:29:42 org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_ 1.dtd 15-Jan-2008 10:29:42 org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_ 2.dtd 15-Jan-2008 10:29:42 org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_2_ 0.xsd 15-Jan-2008 10:29:42 org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/resources/j2ee_web_services_1_1.xs d 15-Jan-2008 10:29:42 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-1365 15-Jan-2008 10:29:42 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-1365 15-Jan-2008 10:29:42 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:1365/SCADomainEventServiceProxyCompo nent 15-Jan-2008 10:29:42 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:1365/SCADomainAPIServiceProxyCompone nt 15-Jan-2008 10:29:43 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:1365/SCANodeManagerComponent/SCANode ManagerService 15-Jan-2008 10:29:43 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:1365/SCANodeManagerComponent/Compone ntManagerService/* 15-Jan-2008 10:29:43 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:1365/SCANodeManagerComponent/Compone ntManagerService 15-Jan-2008 10:29:43 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:1365/SCADomain/scaDomain.js 15-Jan-2008 10:29:43 org.apache.tuscany.sca.node.impl.SCANodeImpl activateCompos ite INFO: Building composite: {http://callbackws}callbackws 15-Jan-2008 10:29:43 org.apache.tuscany.sca.node.impl.SCANodeImpl startComposite INFO: Starting composite: {http://callbackws}callbackws 15-Jan-2008 10:29:43 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.10 15-Jan-2008 10:29:43 org.apache.catalina.startup.ContextConfig defaultWebConfig INFO: No default web.xml 15-Jan-2008 10:29:43 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8086 15-Jan-2008 10:29:43 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8086 15-Jan-2008 10:29:43 org.apache.tuscany.sca.http.tomcat.TomcatServer addServletM apping INFO: Added Servlet mapping: http://L3AW203:8086/MyServiceComponent 15-Jan-2008 10:29:43 org.apache.tuscany.sca.node.impl.SCANodeImpl stopComposite INFO: Stopping composite: {http://callbackws}callbackws 15-Jan-2008 10:29:43 org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8086 15-Jan-2008 10:29:43 org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-1365 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.422 sec This shows that the Junit test cases have run successfully.