Subscribe:

Ads 468x60px

Pages

Tuesday, January 27, 2015

Spring Integration With Axis2 Services

Introduction

This tutorial describes how to handle object injection in axis2 service classes using spring framework.

Sample Service Class For The Tutorial

package services;

public class SimpleService {

    private SampleClass sampleClass;    

    public SimpleService(SampleClass sampleClass){
        this.sampleClass = sampleClass;    
    }

    public String echo(String echo){
        return echo;
    }   
 }

Configure pom.xml

Add maven dependancies in pom.xml 

        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>${axis2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-http</artifactId>
            <version>${axis2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-local</artifactId>
            <version>${axis2.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-spring</artifactId>
            <version>1.4.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-api</artifactId>
            <version>1.2.14</version>
        </dependency>

        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-impl</artifactId>
            <version>1.2.14</version>
        </dependency>

Configure web.xml

Add Following Servlet and Servlet Mappings 

    <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

Configure spring.xml

Define spring bean for the Web Service Class 

    <bean id="simpleService" class="services.SimpleService">
    <constructor-arg ref="sampleClass"/>
    </bean>

Configure services.xml

Define the Web Service 

<service name="SimpleService">    
        <parameter name="ServiceClass">services.StatisticsDepartmentService</parameter>
        <description>SimpleService</description>
        <parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier </parameter>
        <parameter name="SpringBeanName">simpleService</parameter>
        <operation name="echo">
            <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
        </operation>
    </service>

No comments:

Post a Comment