`
angelbill3
  • 浏览: 255615 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Axis2+Spring开发时遇到Service注入为空的问题

    博客分类:
  • java
 
阅读更多
需求:在SSI项目中使用Axis2的WEBSERVICE技术。新建一个Axis2的服务类充当原项目中的ACTION。

问题描述:在创建了Axis2类之后,想直接使用@Resource,将Spring的Service类直接注入到Axis2类中,但发现直接报空。代码如下:
配置类:server-config.wsdd
<service name="test" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="com.webservice.ServerTest"/>
 </service>


服务JAVA类:ServerTest.java
public class ServerTest {
    @Resource
    private TestService testService;
    public String test(String name){	
        return testService.toString();	
    }
}

服务器就这些,客户端代码就是贴出来了,客户端访问时,在第5行的地方直接报空指针,说明testService没有注入成功。

增加说明:框架用的是SSI,在普通Action里,直接这样写是可以注入的。
 @Resource
    private TestService testService;


后来查了下网上资料,说是:
由于本身这个实现方法是逆向生成的,并不是由spring进行管理的,所以使用注入的模式并不能得到结果,需要通过其他方式进行获取。

-----------------------------------------------
所以修改下类ServerTest.java,如下:
public class ServerTest {
    private static WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
    TestService testService= (TestService)getContext().getBean("testService");
    public String test(String name){	
        return testService.toString();	
    }
}

至此,问题解决。注意2、3行代码。

-----------------------------------------------
总结:
1、使用Axis2的时候,用XML配置的方式,就可以了。
2、若要用ANNOTATION的方式,如我上述来获取Bean,也是可以的。最好可以将context全局并静态掉。
3、如果用CXF的话,似乎可以更好的与Spring结合起来。

4、对Axis2也只是到了会用或是解决下问题的地步,没有深入研究下去,上述解决方式若有更好的方式,欢迎留言指正。
分享到:
评论

相关推荐

    axis2+spring整合实例

    Apache Axis2是用于构建Web服务和SOA(Service-Oriented Architecture)的高性能、灵活的开源框架,而Spring是一个广泛使用的Java应用框架,尤其在企业级应用开发中,它提供了依赖注入、数据访问、事务管理等功能。...

    axis2+Spring提供WebService服务

    这可以通过添加`&lt;service&gt;`标签并设置`serviceClass`属性为Spring Bean的ID来完成。 4. **部署服务**:将Spring配置文件和Axis2服务档案(SAR文件)打包到一个WAR文件中,然后部署到支持Servlet容器(如Tomcat)上...

    axis2 + spring3.2.0

    标题中的"axis2 + spring3.2.0"指的是在Java Web开发中,将Apache Axis2服务框架与Spring 3.2.0版本的依赖管理相结合的技术应用。Apache Axis2是一个用于构建Web服务和SOA(Service-Oriented Architecture,面向服务...

    Axis2与Spring整合发布多个WebService

    在IT行业中,开发Web服务是常见的任务,而Axis2和Spring框架的整合为开发者提供了强大的工具来实现这一目标。本文将深入探讨如何利用这两个技术来发布多个WebService,并着重讲解项目管理和整合过程。 首先,让我们...

    使用Axis2整合Spring(二)

    在本篇博文中,我们将深入探讨如何在Java Web开发中使用Apache Axis2框架与Spring框架进行集成,以实现服务端的高效管理和灵活控制。Apache Axis2是著名的Web服务引擎,而Spring则是流行的Java企业级应用框架,它们...

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

    当我们需要在Spring项目中提供Web服务时,Axis2是一个常用的工具,它是一个高效的Web服务引擎,支持SOAP 1.1和1.2,以及RESTful服务。本篇文章将详细介绍如何在Spring中集成Axis2来实现Web服务,并且会提及相关的Jar...

    Spring + axis2 开发 webservice

    当我们谈论“Spring + Axis2 开发 WebService”时,这通常指的是使用Spring框架与Apache Axis2工具来创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务。以下是关于这个主题的详细知识点: 1. *...

    Axis2集成Spring.doc

    - 调试过程中,可以利用Axis2和Spring的日志记录功能来追踪问题。 综上所述,本文档提供了一个全面的指南,帮助开发者了解如何在Axis2中集成Spring框架,以构建高性能且易于维护的Web服务。通过遵循上述步骤和建议...

    Spring+Axis2例子

    Spring 和 Axis2 是两个在Java世界中非常重要的技术框架,它们分别在企业级应用开发和服务化方面发挥着关键作用。Spring 是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)...

    如何用axis1和spring 配置webervice服务器

    Spring框架则是一个全面的企业级应用开发框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)以及对Web服务的支持。本文将详细介绍如何结合Axis1和Spring来配置一个Web服务服务器。 首先,我们需要理解这两...

    axis2和spring结合发布WebService

    这样,当我们启动Spring应用时,Axis2会自动部署和管理定义的Web服务。 接下来,让我们讨论Spring的AOP如何帮助我们处理Web服务的事务和安全性。通过在服务类的方法上定义切面,我们可以轻松地添加事务管理和权限...

    spring+axis2_xfire整合的webservice

    【Spring + Axis2 + XFire 整合的Web Service】是一种在Java环境下构建Web服务的解决方案,它结合了Spring框架的灵活性和Axis2、XFire的Web服务处理能力。Web服务是一个基于开放标准的分布式计算模型,允许不同系统...

    Axis2WebService与Spring的整合

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,而Axis2是Apache软件基金会开发的一个流行的Java Web服务框架。Spring框架则是Java企业级应用的事实标准,提供了强大的依赖注入、AOP(面向切面编程)等...

    Spring整合axis2经典

    整合Spring和Axis2,主要是为了利用Spring的依赖注入和管理能力,以及Axis2的Web服务处理能力。整合过程主要包括以下步骤: - 配置Spring容器:首先在Spring配置文件中定义Web服务的bean,这些bean通常代表了服务...

    使用XFire+Spring构建Web Service

    XFire作为一个与Axis2并驾齐驱的现代Web Service框架,凭借其简洁的API和对多项Web Service标准协议的支持,极大地简化了Web Service应用的开发过程。与Axis相比较,XFire不仅在性能上有所突破,更因其与Spring框架...

    Axis2集成Spring发布WebServices服务

    ### Axis2集成Spring发布WebServices服务 #### 一、概览 在当今的企业级应用开发中,集成多种技术框架以实现高效稳定的服务交互是常见需求之一。Axis2作为一款高性能的开源Web服务栈,提供了丰富的功能来支持SOAP、...

    axis +sping开发实例

    【axis +spring 开发 webservice】的实例教程 在现代Web服务开发中,Apache Axis和Spring框架的结合使用可以提供高效、灵活的解决方案。本文档将深入探讨如何使用这两个工具来构建Web服务,包括环境配置、代码开发...

    Axis2 Spring整合POJO开发Web服务

    当我们谈论"Axis2 Spring整合POJO开发Web服务"时,这意味着我们将使用Axis2来创建Web服务,并通过Spring框架来管理和控制这些服务,同时利用POJO(Plain Old Java Object)作为业务逻辑的核心。 首先,让我们深入...

Global site tag (gtag.js) - Google Analytics