Hello World Web Service SDO WebApp Sample | |
========================================= | |
This sample demonstrates an SCA web service binding which works with | |
SDO and runs as a web application. | |
The README in the samples directory (the directory above this) provides | |
general instructions about building and running samples. Take a look there | |
first. | |
As this sample provides a web app there is a manual step where the WAR file | |
that contains the sample is is built and copied to your web app container. | |
See the sections below for instructions on building the war. | |
Once the web app is deployed use your browser to visit the following URL; | |
http://localhost:8080/sample-helloworld-ws-sdo-webapp | |
The port and hostname will of course vary depending on your local installation. | |
The sample is configured to use a service on port 8080. If your servlet container | |
is using a port other than 8080 then you will need to edit the helloworld.wsdl file | |
and change the location attribute of the <wsdlsoap:address> element in the | |
HelloWorldSoapPort definition to use the correct port. | |
The resulting web page displayed should show: | |
Hello John Smith, Jane Doe! | |
Sample Overview | |
--------------- | |
The sample builds a war with a single JSP (HelloWorld.jsp). This JSP | |
calls an SCA component with an SDO parameter. This in turn calls another | |
SCA component with the SDO parameter. The contents of the SDO are then | |
returned as a simple string. This sample shows how SDO objects can | |
be passed into and between services in the context of a web application. | |
helloworld-jsonrpc-webapp/ | |
src/ | |
main/ | |
java/ | |
helloworld/ | |
HelloWorld.java - service interface | |
HelloWorldComponent.java - first service implementation | |
HelloWorldmpl.java - second service implementation | |
resources/ | |
wsdl/ | |
helloworld.wsdl - the web services description | |
helloworld.xsd - the SDO description | |
helloworldws.composite - the SCA assembly for this sample | |
webapp | |
META-INF/ | |
sca-contribution.xml - specifies the composite to be deployed | |
WEB-INF/ | |
web.xml - defines the listener that starts up the | |
Tuscany SCA runtime | |
HelloWorld.jsp - the web application that calls the | |
SCA service passing in an SDO | |
helloworld-ws-sdo-webapp.png - a pictorial representation of the | |
sample .composite file | |
build.xml - the Ant build file | |
pom.xml - the Maven build file | |
Building The Sample Using Ant | |
----------------------------------------- | |
With the binary distribution the sample can be built using Ant as | |
follows | |
cd helloworld-ws-sdo-webapp | |
ant package | |
This should result in a war file (sample-helloworld-ws-sdo-webapp.war) in the target | |
directory. Copy this war file to your web app deployment directory in your | |
web app container. | |
The process for getting the web app running will depend on which web app container | |
you are using. For example, if you are using Tomcat then it is simply a matter | |
of copying the WAR file to the webapps directory. | |
Once the web app is deployed use your browser to visit the following URL; | |
http://localhost:8080/sample-helloworld-ws-sdo-webapp | |
The port and hostname will of course vary depending on your local installation. | |
Building 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 helloworld- | |
ws-service sample first as Maven does this for you. | |
cd helloworld-ws-sdo-webapp | |
mvn | |
That should end with "BUILD SUCCESSFUL" and create the target/sample-helloworld-ws-sdo-webapp.war | |
which you can copy to your server. |