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. |