blob: 2c65f745a61066cd3ed820a5bb02f3fed93fbd3e [file] [log] [blame]
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.