Developing Spring Services
To develop a simple Spring service, you have to provide a Spring context.xml
file, which has a .jar file containing the bean classes. Given below is an example of a simple Spring context.xml
file specifying a particular bean with an ID and a class name found in the .jar file.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="SimpleEchoBean" class="org.wso2.test.EchoBean"> </bean> </beans>
The Echo Bean for this example is shown below. It can contain any type of service implementation.
package org.wso2.test; /*** Example EchoBean***/ public class EchoBean { public String echoString(String input) { return input; } public int echoInt(int input) { return input; } }
For more information, refer to http://axis.apache.org/axis2/java/core/docs/spring.html
Deploying Spring Services
Follow the instructions below to deploy a Spring Service to a running WSO2 AS instance.
- Log on to the product's Management Console and select Service -> Add -> Spring Service.
In the Add Spring Service window that appears, specify the relevant files and click Upload. For example,
Service Hierarchy
Specifying a service hierarchy is optional. It allows you to customize your service endpoint reference. If the business logic of the same service changes over time, you can maintain multiple versions of the service by using service hierarchy at the deployment. For example, consider a service named "SpringTest"
If the service hierarchy is not mentioned, then the service endpoint reference is ../services/SpringTest. With service hierarchy specified, for example as 1.0.0, the endpoint reference is ../services/1.0.0/SpringTest. Specifying a hierarchy is important if you want to manage services separately.
If the files are not faulty, the Select Beans to Deploy page appears.If the beans specified in the spring
context.xml
file are mentioned in the .jar file, they will be displayed on this page.- Select the Include check box associated with the the beans you want to expose as Web services and click Generate.
- If the generation is successful, a message appears prompting you to refresh the page. Click OK.
- Refresh the Deployed Services page in your product's management console to view the newly added services listed.
If your service implementation depends on any third-party libraries, you can copy them to the <AS_HOME>/repository/components/extensions
directory and restart the server to get your service started.