Using the KSB with bus security
The Kuali Service Bus (KSB) includes web services already installed with a base Rice implementation. These services use WS-Security requiring the digital signing of each request providing a Signature and digest of the request. The digital signing ensures that the client application has the proper credentials to access the service.
This documentation will illustrate how to interact with the a base KSB using the expected bus security. The examples will include a SoapUI client and a Java client application. Both of these examples can be used with the demo Rice implementation available at:
Base Rice services
The list of Rice services is available from the Rice Administration menu:
- username: admin
- Administration tab
- Service Bus link from the Service Bus section
- convenience link: http://demo.rice.kuali.org/portal.do?channelTitle=Service%20Bus&channelUrl=http://demo.rice.kuali.org/ksb/ServiceBus.do
For simplicity's sake the CampusService.findAllCampuses method will serve as the example. There are no query parameters and the answering web service response XML is easily human readable.
From the list of services on the demo Rice server, the CampusService has the following attributes:
- Endpoint URL:
- Type: SOAP
- because the type is SOAP, the WSDL can be found at http://demo.rice.kuali.org/remoting/soap/location/v2_0/campusService?wsdl
The base SOAP services published on the KSB all rely on the use of the Rice Java Keystore included with the base Rice implementation. It is imperative that the client applications use the same rice.keystore file that the server is using. The Rice Administration menu provides an interface where an alias can be added to a new keystore and that new keystore is downloaded by your browser. See the notes on why this approach does not work for newly added aliases.
When consuming SOAP webservices with Java, two approaches are typical, a SoapUI client with tests and assertions, and a Java client application.