This section describes how to write a client that uses the Security API. Note that the service (/Service1) must be deployed and configured for security, as described in Creating and Securing a Service. We will use the class from Example 3 as a Web service client. This code automatically authenticates as a test identity to a Web service it calls.
Example 3. Simple Web Service Client with Security
// Copyright 2002 Systinet Corp. All rights reserved.
// Use is subject to license terms.
package example.security;
import org.idoox.security.Credentials;
import org.idoox.wasp.WaspSecurity;
import org.systinet.wasp.webservice.ServiceClient;
import org.systinet.wasp.Wasp;
public class Client2 {
public static void main(String[] args) throws Exception {
// initializing libraries
Wasp.init();
// create a service client
ServiceClient serviceClient = ServiceClient.create("http://localhost:6060/Service1");
// acquire credentials using WaspSecurity
Credentials credentials = WaspSecurity.acquireClientCredentials("test", "abcd",
"HttpBasic");
// set credentials
WaspSecurity.setCredentials(serviceClient, new Credentials[]{credentials});
// set an initiating security provider
WaspSecurity.setInitiatingProvider(serviceClient, "HttpBasic");
// create a service proxy
ServiceIface service = (ServiceIface) serviceClient.createProxy(ServiceIface.class);
// do a call
System.out.println(service.doIt("hello"));
// uninitializing
Wasp.destroy();
}
}
To test this example, we will first need to compile it. Use the following command under Windows (On UNIX systems, change each backslash (\) to a forward slash (/).):
javac -d. example\security\Client2.java
To run this example use the following Windows command; on UNIX, change the config value to $WASP_HOME/conf/jaas.config.
Notice that the java.security.auth.login.config property must be present for the WSO2 SOA Enablement Server security framework to work properly.
java -Djava.security.auth.login.config=%WASP_HOME%\conf\jaas.config example.security.Client2
If the service has successfully been deployed, you see the Web service output, hello.
This section covers only a small part of WSO2 SOA Enablement Server Security API. The other chapters in this document cover all aspects of WSO2 SOA Enablement Server Security Framework in greater detail.