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. 
