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.