`
fxly0401
  • 浏览: 148018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Axis2与spring整合

阅读更多

   现今的Web应用中经常使用Spring框架来装载JavaBean。如果要想将某些在Spring中装配的JavaBean发布成WebService,使用Axis2的Spring感知功能是非常容易做到的。
    在本文的例子中,除了<Tomcat安装目录>\webapps\axis2目录及该目录中的相关库外,还需要Spring框架中的spring.jar文件,将该文件复制到<Tomcat安装目录>\webapps\axis2\WEB-INF\lib目录中。
    下面先建立一个JavaBean(该JavaBean最终要被发布成WebService),代码如下:
package service;
import entity.Person;
public class SpringService
{
    private String name;
    private String job;
    public void setName(String name)
    {
        this.name = name;
    }
    public void setJob(String job)
    {
        this.job = job;
    }
    public Person getPerson()
    {
        Person person = new Person();
        person.setName(name);
        person.setJob(job);
        return person;
    }
    public String getGreeting(String name)
    {
        return "hello " + name;
    }
}

    其中Person也是一个JavaBean,代码如下:
package entity;
public class Person
{
    private String name;
    private String job;
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public String getJob()
    {
        return job;
    }
    public void setJob(String job)
    {
        this.job = job;
    }
}

    将上面两个Java源文件编译后,放到<Tomcat安装目录>\webapps\axis2\WEB-INF\classes目录中。
    在<Tomcat安装目录>\webapps\axis2\WEB-INF\web.xml文件中加入下面的内容:
<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

    在<Tomcat安装目录>\webapps\axis2\WEB-INF目录中建立一个applicationContext.xml文件,该文件是Spring框架用于装配JavaBean的配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
  <bean id="springService" class="service.SpringService">
     <property name="name" value="姚明" />
     <property name="job" value="职业男篮" /> 
  </bean>   
</beans>

    在applicationContext.xml文件中装配了service.SpringService类,并被始化了name和job属性。在配置完SpringService类后,就可以直接在程序中FileSystemXmlApplicationContext类或其他类似功能的类读取applicationContext.xml文件中的内容,并获得SpringService类的对象实例。但现在我们并不这样做,而是将SpringService类发布成WebService。
    在<Tomcat安装目录>\webapps\axis2\WEB-INF\lib目录中有一个axis2-spring-1.4.1.jar文件,该文件用于将被装配JavaBean的发布成WebService。在工程WEB-INF目录下,依次创建目录/WEB-INF/services/myservices(名称随便)/META-INF/,并在META-INF目录中建立一个services.xml文件,内容如下:
<service name="springService">
    <description>
        Spring aware
    </description>
    <parameter name="ServiceObjectSupplier">
        org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
    </parameter>
    <parameter name="SpringBeanName">springService</parameter>
    //SpringBeanName名字是固定的不能改
    //springService是spring中注册的实现类的id
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
            class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    </messageReceivers>
</service> 
   
    将工程到处war包文件,防止tomcat的webapps目录下,启动Tomcat后,就可以访问该WebService了。获得wsdl内容的URL如下:

http://localhost:8080/axis2/services/springService?wsdl

    在将Spring中的装配JavaBean发布成WebService需要注意以下几点:
    1. 由JavaBean编译生成的.class文件需要放在WEB-INF\classes目录中,或打成.jar包后放在WEB-INF\lib目录中,而/WEB-INF/services/myservices(名称随便)/META-INF/目录只需要包含一个services.xml文件即可。
    2. services.xml的配置方法并不需要使用ServiceClass参数指定要发布成WebService的Java类,而是要指定在applicationContext.xml文件中的装配JavaBean的名称(SpringBeanName参数)。
    3. 在services.xml文件中需要通过ServiceObjectSupplier参数指定SpringServletContextObjectSupplier类来获得Spring的ApplicationContext对象。

文章来源:http://androidguy.blog.51cto.com/974126/215189
分享到:
评论

相关推荐

    Axis2与Spring整合发布多个WebService

    **Axis2与Spring整合** 整合Axis2和Spring的主要目的是利用Spring的依赖注入(DI)和面向切面编程(AOP)特性,使得Web服务的创建和管理更加方便。以下是整合步骤: 1. **添加依赖**:在Maven项目中,需要在pom....

    axis2与spring集成

    axis2与spring的集成,在application中配置要发布的Java类,然后配置aar文件,在aar打包文件中的services.xml要嵌入 &lt;parameter name="ServiceObjectSupplier"&gt;org.apache.axis2.extensions.spring.receivers....

    java webservice之axis2与spring集成(二)

    在本文中,我们将深入探讨如何将Axis2与Spring框架集成,以实现更强大的服务管理、依赖注入以及更好的企业级应用支持。以下是关于"java webservice之axis2与spring集成(二)"的详细知识点讲解: 1. **Spring框架**...

    axis2+spring整合实例

    **Axis2与Spring整合的核心知识点** 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,通过DI,可以将服务实例化和管理的工作交给Spring,使Axis2服务更易于测试和维护。 2. **服务组件...

    使用Axis2整合Spring(二)

    将Axis2与Spring整合的主要目的是利用Spring的DI和AOP特性来管理和控制Web服务的生命周期。这可以通过在Axis2中使用SpringBeanServiceHost和SpringBeanAxisServlet实现。SpringBeanServiceHost允许将Spring的bean...

    axis2-spring-1.5.4.jar

    axis2-spring-1.5.4.jar是Axis2与Spring整合的关键组件,它提供了必要的类和接口,使得Spring容器能够管理Axis2服务的生命周期。这个jar包包含了 Axis2 和 Spring 之间的桥接器,使得 Axis2 的服务可以在 Spring ...

    Axis2WebService与Spring的整合

    将Axis2与Spring整合可以让我们在Spring的环境中便捷地创建、管理和部署Web服务,同时利用Spring的众多优点。本文将深入探讨如何将这两者融合,并介绍相关的技术细节。 首先,理解Axis2 Web服务的核心概念。Axis2是...

    axis2+spring webservice

    标题中的“axis2+spring webservice”指的是使用Apache Axis2框架与Spring框架集成来开发Web服务。Apache Axis2是Java环境中广泛使用的Web服务引擎,它提供了高性能、灵活且可扩展的架构。Spring框架则是一个全面的...

    springboot集成axis2-1.7.9实例

    在本文中,我们将深入探讨如何将Apache Axis2与Spring Boot集成,以构建一个高效、可扩展的Web服务应用。Apache Axis2是Java平台上的一个Web服务框架,它提供了高性能、灵活的服务开发和部署机制。而Spring Boot是...

    axis2整合spring

    3. **Axis2与Spring的集成模块**:使用Spring-WS模块或者Spring-AXIS2模块,这些模块提供了集成工具,帮助将Spring的bean暴露为Web服务。 4. **部署服务**:在Axis2的配置文件(如services.xml)中引用Spring上下文...

    Spring集成axis2实现webservice所用到的包

    首先,让我们理解Spring与Axis2集成的基础知识。Spring框架提供了一个服务导向架构(SOA)的支持,允许开发者轻松地创建和消费Web服务。而Axis2是Apache软件基金会的一个项目,专门用于处理Web服务的生成、部署和...

    Axis2集成Spring发布WebServices服务

    本文将详细介绍如何通过集成Axis2与Spring框架来发布WebServices服务,并提供具体的配置示例。 #### 二、Axis2与Spring集成原理 在集成Axis2与Spring的过程中,主要涉及以下几个方面: 1. **服务定义**:通过Axis2...

    axis2和axis2+spring发布服务指南

    3. **Axis2与Spring集成**:说明如何配置Spring应用上下文,将Spring Bean作为Axis2服务,以及如何利用Spring的IoC和AOP特性优化服务行为。 4. **创建服务**:详细步骤指导如何创建一个基于Axis2的服务,包括编写...

    axis2 + spring3.2.0

    在提供的链接(http://blog.csdn.net/linlinv3/article/details/9017767)中,你可以找到更具体的关于如何在实际项目中集成和使用Axis2与Spring3.2.0的详细步骤和示例。对于Java Web开发者来说,理解并掌握这种整合...

    axis2+spring2.5整合(webservice)

    将Axis2与Spring2.5整合的主要好处在于,可以利用Spring的IoC(Inversion of Control,控制反转)和AOP特性来管理和控制Web服务。这使得Web服务的配置和管理更加简便,同时也便于测试和维护。以下是一些整合的关键...

    axis2和spring结合发布WebService

    将Axis2与Spring集成可以带来诸多优势,如更好的服务治理、方便的依赖注入以及更简单的测试。 首先,我们需要理解如何配置Spring以支持Axis2。这通常涉及在Spring配置文件中定义一个`AxisService`bean,该bean包含...

    Axis2集成Spring.doc

    本文档旨在介绍如何将Apache Axis2与Spring框架进行集成,以实现灵活的服务部署和管理。在实际应用中,开发者可能需要利用Spring来管理业务对象(例如POJOs),并希望通过Axis2提供这些服务。这种集成方式不仅能够...

    Spring集成AXIS2的Web_service配置方法

    Spring 集成 AXIS2 的 Web service 配置方法 Spring 是一个流行的 Java 应用程序框架,它提供了一个灵活的方式来构建企业级应用程序。AXIS2 是一个流行的 Web Service 引擎,它提供了一个强大的方式来构建 Web ...

    spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s

    ”这意味着项目的核心功能是展示如何将Apache Axis2与Spring 3框架整合,以便利用Spring的依赖注入和管理能力来构建和控制Web服务。此外,资料是一个MyEclipse的Web工程,意味着它是用MyEclipse IDE创建的,开发者...

    axis2+spring+ibatis

    Spring还支持与其他框架的集成,如Axis2,使得Web服务的调用更加方便。 3. iBATIS:iBATIS(现在已经演变为MyBatis)是一个持久层框架,它简化了Java应用与数据库之间的交互。开发者可以通过XML或注解定义SQL查询,...

Global site tag (gtag.js) - Google Analytics