bee80d90df
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@775437 13f79535-47bb-0310-9956-ffa450edef68
119 lines
4.9 KiB
Text
119 lines
4.9 KiB
Text
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.
|