blob: 26272b1d91f2e4d0d02ae8083ee8019f0909b919 [file] [log] [blame]
Hello World SOAP/JMS Service Sample
===================================
This sample demonstrates an SCA service that uses a web service binding using
a SOAP/JMS protocol
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-helloworld-ws-service-jms.jar helloworld.HelloWorldServer
and on *nix do
java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-ws-service-jms.jar helloworld.HelloWorldServer
Now the server is started you can use the helloworld-ws-reference-jms sample to
exercise it.
Sample Overview
---------------
The sample provides a single component that is wired to a service with a
web service binding.
helloworld-ws-service-jms/
src/
main/
java/
helloworld/
HelloWorldService.java - interface description for
HelloWorldServiceComponent
HelloWorldImpl.java - component implementation
HelloWorldServer.java - starts the SCA Runtime and
deploys the helloworldwsjms
.composite and then waits for the
service to be called via web services
resources/
wsdl/
helloworld.wsdl - the service description that describes
the exposed service
helloworldwsjms.composite - the SCA assembly for this sample
helloworldwsjmspolicy.composite - shows how the protocol can be
selected using policy. Not run
by the sample
test/
java/
helloworld/
HelloWorldJMSServerTestCase.java- JUnit test case
HelloWorldJMSPolicyServerTestCase.java- JUnit test case
helloworld-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 using the
following commands
cd helloworld-ws-service-jms
ant compile
ant run
You should see the following output from the run target.
run:
[java] log4j:WARN No appenders could be found for logger (org.apache.axiom.
om.util.StAXUtils).
[java] log4j:WARN Please initialize the log4j system properly.
[java] HelloWorld 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 just press
enter.
To exercise the service run up the helloworld-ws-reference-jms sample. Take a look at
the README in that sample and you will see you need the following commands
cd helloworld-ws-reference-jms
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 helloworld-
ws-reference-jms sample as Maven includes a simple ping test to make sure that the
service is available
cd helloworld-ws-service-jms
mvn
You should see the following output from the test phase.
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running helloworld.HelloWorldJmsPolicyServerTestCase
08-Jan-2008 10:41:17 org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvide
r start
INFO: Axis2 JMS URL=jms:/HelloWorldServiceComponent?java.naming.factory.initial=
org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=
tcp://localhost:61619&transport.jms.ConnectionFactoryJNDIName=QueueConnectionFac
tory
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.984 sec
Running helloworld.HelloWorldJmsServerTestCase
08-Jan-2008 10:41:22 org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvide
r start
INFO: Axis2 JMS URL=jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=Qu
eueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.Active
MQInitialContextFactory&java.naming.provider.url=tcp://localhost:61619
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.266 sec
This shows that the Junit test cases have run successfully.