
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1027490 13f79535-47bb-0310-9956-ffa450edef68
200 lines
8.2 KiB
Text
200 lines
8.2 KiB
Text
Hello World Web Service and Reference using SDO Sample
|
|
======================================================
|
|
This sample demonstrates an SCA service and reference that use a web service binding which works with SDO.
|
|
|
|
The README in the samples directory (the directory above this) provides
|
|
general instructions about building and running samples. Take a look there
|
|
first.
|
|
|
|
To run this sample
|
|
------------------
|
|
This sample includes both a server and a client. First, open a command prompt to start the server.
|
|
If you are running ant do the following:
|
|
|
|
cd helloworld-ws-sdo
|
|
ant run-server
|
|
|
|
OR if you don't have ant, on Windows do
|
|
|
|
java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-ws-sdo.jar helloworld.HelloWorldServer
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-ws-sdo.jar helloworld.HelloWorldServer
|
|
|
|
You should see the following output:
|
|
|
|
Buildfile: build.xml
|
|
|
|
run-server:
|
|
[java] 30-Sep-2010 14:45:13 org.apache.tuscany.sca.node.impl.NodeImpl <init>
|
|
[java] INFO: Creating node: helloworldws.composite
|
|
[java] 30-Sep-2010 14:45:13 org.apache.tuscany.sca.node.impl.NodeImpl configureNode
|
|
[java] INFO: Loading contribution: file:/E:/td/test161b/samples/helloworld-ws-sdo/target/sample-helloworld-ws-sdo.jar
|
|
[java] 30-Sep-2010 14:45:15 org.apache.tuscany.sca.node.impl.NodeImpl start
|
|
[java] INFO: Starting node: helloworldws.composite
|
|
[java] 30-Sep-2010 14:45:16 org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
|
|
[java] INFO: Added Servlet mapping: http://GrosMorne:8085/HelloWorldService
|
|
[java] HelloWorld server started (press enter to shutdown)
|
|
|
|
|
|
The server is now ready.
|
|
|
|
Now, open another command window to run the client.
|
|
|
|
cd helloworld-ws-sdo
|
|
ant run
|
|
|
|
OR if you don't have ant, on Windows do
|
|
|
|
java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-helloworld-ws-sdo.jar helloworld.HelloWorldClient
|
|
|
|
and on *nix do
|
|
|
|
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-ws-sdo.jar helloworld.HelloWorldClient
|
|
|
|
You should be able to see the following result:
|
|
|
|
Buildfile: build.xml
|
|
|
|
run:
|
|
[java] 30-Sep-2010 14:45:21 org.apache.tuscany.sca.node.impl.NodeImpl <init>
|
|
[java] INFO: Creating node: helloworldwsclient.composite
|
|
[java] 30-Sep-2010 14:45:21 org.apache.tuscany.sca.node.impl.NodeImpl configureNode
|
|
[java] INFO: Loading contribution: file:/E:/td/test161b/samples/helloworld-ws-sdo/target/sample-helloworld-ws-sdo.jar
|
|
[java] 30-Sep-2010 14:45:23 org.apache.tuscany.sca.node.impl.NodeImpl start
|
|
[java] INFO: Starting node: helloworldwsclient.composite
|
|
[java] Injected helloWorldService
|
|
[java] Called getGreetings
|
|
[java] Hello David Haney
|
|
|
|
BUILD SUCCESSFUL
|
|
Total time: 9 seconds
|
|
|
|
|
|
Sample Overview
|
|
---------------
|
|
The sample provides a server component that exposes a service using a web service
|
|
binding, and a client component with a reference that invokes the service using a
|
|
web service binding. The binding refers to WSDL that describes the service.
|
|
|
|
helloworld-ws-sdo/
|
|
src/
|
|
main/
|
|
java/
|
|
helloworld/
|
|
HelloWorldService.java - interface description for
|
|
HelloWorldServiceComponent and
|
|
HelloWorldImpl
|
|
HelloWorldServiceComponent.java - client component implementation
|
|
HelloWorldImpl.java - server component implementation
|
|
HelloWorldServer.java - starts the SCA Runtime and
|
|
deploys the helloworldws
|
|
.composite and then waits for the
|
|
service to be called via web services
|
|
HelloWorldClient.java - starts the SCA Runtime and
|
|
deploys the helloworldwsclient
|
|
.composite. It then calls the
|
|
HelloWorldServiceComponent
|
|
resources/
|
|
wsdl
|
|
helloworld.wsdl - the service description that the
|
|
SCA reference uses to bind to service.
|
|
helloworldws.composite - the SCA assembly for the server
|
|
helloworldwsclient.composite - the SCA assembly for the client
|
|
|
|
test/
|
|
java/
|
|
helloworld/
|
|
HelloWorldClientTestCase.java - JUnit test case
|
|
HelloWorldTestServer.java - server launched by the JUnit test case
|
|
helloworld-ws-sdo.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
|
|
-----------------------------------------
|
|
You can build and run the sample with the binary distribution using Ant. Enter the
|
|
following commands:
|
|
|
|
cd helloworld-ws-sdo
|
|
ant
|
|
|
|
To run the sample, you need to run the server and then run the client.
|
|
First, run the server.
|
|
|
|
cd helloworld-ws-sdo
|
|
ant run-server
|
|
|
|
In a separate command prompt, run the client.
|
|
|
|
cd helloworld-ws-sdo
|
|
ant run
|
|
|
|
You should see the following output from the run target.
|
|
|
|
run:
|
|
[java] Injected helloWorldService
|
|
[java] Called getGreetings
|
|
[java] Hello David Haney
|
|
|
|
Building And Running The Sample Using Maven
|
|
-------------------------------------------
|
|
You can build and run the sample with either the binary or source distributions using Maven.
|
|
Please note that you do not need to start the server in this case since Maven does this for you.
|
|
Enter the following commands:
|
|
|
|
cd helloworld-ws-sdo
|
|
mvn
|
|
|
|
You should see the following output from the test phase.
|
|
|
|
-------------------------------------------------------
|
|
T E S T S
|
|
-------------------------------------------------------
|
|
Running helloworld.HelloWorldClientTestCase
|
|
log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAX
|
|
Utils).
|
|
log4j:WARN Please initialize the log4j system properly.
|
|
log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAX
|
|
Utils).
|
|
log4j:WARN Please initialize the log4j system properly.
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.core.StandardEngine start
|
|
INFO: Starting Servlet Engine: Apache Tomcat/6.0.10
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.ContextConfig defaultWebConf
|
|
ig
|
|
INFO: No default web.xml
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register
|
|
WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_0.xsd
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register
|
|
WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_
|
|
1.dtd
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register
|
|
WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_
|
|
2.dtd
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register
|
|
WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_2_
|
|
0.xsd
|
|
Aug 23, 2007 2:27:32 PM org.apache.catalina.startup.DigesterFactory register
|
|
WARNING: Could not get url for /javax/servlet/resources/j2ee_web_services_1_1.xs
|
|
d
|
|
Aug 23, 2007 2:27:32 PM org.apache.coyote.http11.Http11Protocol init
|
|
INFO: Initializing Coyote HTTP/1.1 on http-8085
|
|
Aug 23, 2007 2:27:32 PM org.apache.coyote.http11.Http11Protocol start
|
|
INFO: Starting Coyote HTTP/1.1 on http-8085
|
|
Aug 23, 2007 2:27:32 PM org.apache.tuscany.sca.http.tomcat.TomcatServer addServl
|
|
etMapping
|
|
INFO: Added Servlet mapping: http://localhost:8085/HelloWorldService
|
|
Injected helloWorldService
|
|
Called getGreetings
|
|
Aug 23, 2007 2:27:34 PM org.apache.coyote.http11.Http11Protocol destroy
|
|
INFO: Stopping Coyote HTTP/1.1 on http-8085
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.502 sec
|
|
|
|
Results :
|
|
|
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
|
|
|
|
|
This shows that the Junit test cases have run successfully.
|