需求:在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也只是到了会用或是解决下问题的地步,没有深入研究下去,上述解决方式若有更好的方式,欢迎留言指正。
分享到:
相关推荐
Apache Axis2是用于构建Web服务和SOA(Service-Oriented Architecture)的高性能、灵活的开源框架,而Spring是一个广泛使用的Java应用框架,尤其在企业级应用开发中,它提供了依赖注入、数据访问、事务管理等功能。...
这可以通过添加`<service>`标签并设置`serviceClass`属性为Spring Bean的ID来完成。 4. **部署服务**:将Spring配置文件和Axis2服务档案(SAR文件)打包到一个WAR文件中,然后部署到支持Servlet容器(如Tomcat)上...
标题中的"axis2 + spring3.2.0"指的是在Java Web开发中,将Apache Axis2服务框架与Spring 3.2.0版本的依赖管理相结合的技术应用。Apache Axis2是一个用于构建Web服务和SOA(Service-Oriented Architecture,面向服务...
在IT行业中,开发Web服务是常见的任务,而Axis2和Spring框架的整合为开发者提供了强大的工具来实现这一目标。本文将深入探讨如何利用这两个技术来发布多个WebService,并着重讲解项目管理和整合过程。 首先,让我们...
在本篇博文中,我们将深入探讨如何在Java Web开发中使用Apache Axis2框架与Spring框架进行集成,以实现服务端的高效管理和灵活控制。Apache Axis2是著名的Web服务引擎,而Spring则是流行的Java企业级应用框架,它们...
当我们谈论“Spring + Axis2 开发 WebService”时,这通常指的是使用Spring框架与Apache Axis2工具来创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务。以下是关于这个主题的详细知识点: 1. *...
当我们需要在Spring项目中提供Web服务时,Axis2是一个常用的工具,它是一个高效的Web服务引擎,支持SOAP 1.1和1.2,以及RESTful服务。本篇文章将详细介绍如何在Spring中集成Axis2来实现Web服务,并且会提及相关的Jar...
- 调试过程中,可以利用Axis2和Spring的日志记录功能来追踪问题。 综上所述,本文档提供了一个全面的指南,帮助开发者了解如何在Axis2中集成Spring框架,以构建高性能且易于维护的Web服务。通过遵循上述步骤和建议...
Spring 和 Axis2 是两个在Java世界中非常重要的技术框架,它们分别在企业级应用开发和服务化方面发挥着关键作用。Spring 是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,而Axis2是Apache软件基金会开发的一个流行的Java Web服务框架。Spring框架则是Java企业级应用的事实标准,提供了强大的依赖注入、AOP(面向切面编程)等...
Spring框架则是一个全面的企业级应用开发框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)以及对Web服务的支持。本文将详细介绍如何结合Axis1和Spring来配置一个Web服务服务器。 首先,我们需要理解这两...
这样,当我们启动Spring应用时,Axis2会自动部署和管理定义的Web服务。 接下来,让我们讨论Spring的AOP如何帮助我们处理Web服务的事务和安全性。通过在服务类的方法上定义切面,我们可以轻松地添加事务管理和权限...
【Spring + Axis2 + XFire 整合的Web Service】是一种在Java环境下构建Web服务的解决方案,它结合了Spring框架的灵活性和Axis2、XFire的Web服务处理能力。Web服务是一个基于开放标准的分布式计算模型,允许不同系统...
整合Spring和Axis2,主要是为了利用Spring的依赖注入和管理能力,以及Axis2的Web服务处理能力。整合过程主要包括以下步骤: - 配置Spring容器:首先在Spring配置文件中定义Web服务的bean,这些bean通常代表了服务...
XFire作为一个与Axis2并驾齐驱的现代Web Service框架,凭借其简洁的API和对多项Web Service标准协议的支持,极大地简化了Web Service应用的开发过程。与Axis相比较,XFire不仅在性能上有所突破,更因其与Spring框架...
### Axis2集成Spring发布WebServices服务 #### 一、概览 在当今的企业级应用开发中,集成多种技术框架以实现高效稳定的服务交互是常见需求之一。Axis2作为一款高性能的开源Web服务栈,提供了丰富的功能来支持SOAP、...
【axis +spring 开发 webservice】的实例教程 在现代Web服务开发中,Apache Axis和Spring框架的结合使用可以提供高效、灵活的解决方案。本文档将深入探讨如何使用这两个工具来构建Web服务,包括环境配置、代码开发...
当我们谈论"Axis2 Spring整合POJO开发Web服务"时,这意味着我们将使用Axis2来创建Web服务,并通过Spring框架来管理和控制这些服务,同时利用POJO(Plain Old Java Object)作为业务逻辑的核心。 首先,让我们深入...