summaryrefslogtreecommitdiffstats
path: root/tags/java/sca/1.0/samples/helloworld-ws-service-secure/README
blob: bd7643d47d2f82088481bfc09d5d6c74f4735ff6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Hello World Secure Web Service Service Sample
=============================================
This sample demonstrates an SCA service that uses a web service binding that is enabled for simple
authentication using UseridToken and PasswordText

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-secure.jar helloworld.HelloWorldServer

and on *nix do

java -cp ../../lib/tuscany-sca-manifest.jar:target/sample-helloworld-ws-service-secure.jar helloworld.HelloWorldServer

Now the server is started you can use the helloworld-ws-reference-secure sample to 
exercise it. 

Sample Overview
---------------
The sample provides a single component that is wired to a service with a 
web service binding.  The service specifies a policy intent named 'authentication' 
which is fulfilled by a suitable policyset that is defined for the SCA Domain.  Over 
the helloworld-ws-service sample, this sample demonstrate generally the use of policy
intents and policy sets in Tuscany taking the specific instance of a security policy.

Note :
------
The policies mentioned and supported are instances of Tuscany specified policies and 
not instnaces of WS-Policy.

helloworld-ws-service-secure/
  src/
    main/
      java/
        helloworld/
          HelloWorldService.java          - interface description for 
                                            HelloWorldServiceComponent
          HelloWorldImpl.java             - component implementation
          HelloWorldServer.java           - starts the SCA Runtime and 
                                            deploys the helloworldws
                                            .composite and then waits for the
                                            service to be called via web services
		  ServerPWCBHandler.java		  - callback handler to authenticate client userid and password                                            
      resources/
        wsdl/
          helloworld.wsdl                 - the service description that describes
                                            the exposed service
        helloworldws.composite            - the SCA assembly for this sample
        definitions.xml					  - the SCA Definitions file that contains intents and policysets 
        									defined for the SCA Domain
    
  helloworld-ws-service-secure.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-secure
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. The webservice requires clients to 
have security headers that carry userid tonken and password text.

To stop the server just press enter.

To exercise the service run up the helloworld-ws-reference-secure sample. Take a look at 
the README in that sample and you will see you need the following commands

cd helloworld-ws-reference-secure
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-secure sample as Maven includes a simple ping test to make sure that the
service is available

cd helloworld-ws-service-secure
mvn

You should see the following output from the test phase.

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running helloworld.HelloWorldServerTestCase
log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAX
Utils).
log4j:WARN Please initialize the log4j system properly.
10-May-2007 13:48:42 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.10
10-May-2007 13:48:42 org.apache.catalina.startup.ContextConfig defaultWebConfig
INFO: No default web.xml
10-May-2007 13:48:42 org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_0.xsd
10-May-2007 13:48:42 org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_
1.dtd
10-May-2007 13:48:42 org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_
2.dtd
10-May-2007 13:48:42 org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_2_
0.xsd
10-May-2007 13:48:42 org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/j2ee_web_services_1_1.xs
d
10-May-2007 13:48:43 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8085
10-May-2007 13:48:43 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8085
10-May-2007 13:48:43 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8085
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.857 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

This shows that the Junit test cases have run successfully.