apache-tuscany/sca-java-1.x/trunk/samples/helloworld-ws-service-jms
2010-10-26 11:39:04 +00:00
..
src Moving 1.x trunk 2009-11-13 01:42:27 +00:00
build.xml Merge r1002838 TUSCANY-3680: Fix code in clean target 2010-10-26 11:39:04 +00:00
helloworld-ws-service.png Moving 1.x trunk 2009-11-13 01:42:27 +00:00
helloworld-ws-service.svg Moving 1.x trunk 2009-11-13 01:42:27 +00:00
pom.xml Update 1.x trunk version to 1.7-SNAPSHOT 2009-12-21 12:31:56 +00:00
README Moving 1.x trunk 2009-11-13 01:42:27 +00:00

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.