转自:http://blog.csdn.net/xinhaoluan/archive/2008/12/25/3605234.aspx
环境:axis2 1.4, spring1.2 或者 spring2.0, tomcat6.0, windows vista
由于项目需要搭建一个良好的架构,我选择了用axis2和spring整合。不过再还没有做的时候,就听同事和网上的朋友说axis2和spring整合是多么难的事,使得我有一种极度想挑战它的心理,哈,其实整合起来非常的容易,不过网上介绍axis2的不多。我是用axis2官方网站的方法做整合的。地址:http://ws.apache.org/axis2/1_4_1/spring.html
官方网站上介绍两种方式整合,一种是我们所熟悉的applicationContext.xml放在和web.xml同一级的目录下,第二种是放在aar里面。因为任务上的一些因素,我选用第一种方式,而且我也只记录第一种,第二种我没有研究,我怕说错了误人子弟,好啦,开始。
1、首先,需要axis2.war,根据它的目录结构我们修改自己的web应用。只需拷贝axis2/WEB-INF/目录下的所有文件到自己的web项目下就可以了,记得要覆盖所有(axis2-web这个文件夹是包含axis2整个的管理界面,可有可无,不过要用的话,记得它是放在和WEB-INF的同级目录下),其实我们就是有点像在整个的axis2工程上做二次开发。
(第一步的作用主要是COPY包文件和WEB.XML配置文件)
2、我们像做所有其它的Web项目一样,用到spring的时候拷贝spring.jar到WEB-INF/lib目录下,然后在web.xml同级的目录下建立一个 applicationContext.xml,并且在applicationContext.xml引用相应的DTD或XSD(spring1.2引用 的是DTD,spring2.0引用的是XSD),然后会在web.xml中加入这一段(当然,你可以选择用其它方式配置spring对web项目的支 持)。
<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 >
3、发布整个项目发部到tomcat上,测试起动服务有没有问题。(一般不会是有问题,我们现在做的只是在axis2这个工程里添加了spring的jar包和在原有的axis2工程的web.xml加上了对spring的支持)。起动没问题的话就访问下http://<host>:<port>/<project name>/services/Version?wsdl,只要成功就可以了,下面进入正题。
4、写一个接口。(体现spring面向接口编程的好处)
package com.hp.bean;
public interface MyBean {
public String echo();
}
5、实现这个接口。
package com.hp.bean;
public class MyBeanImpl implements MyBean {
public String echo() {
return "Merry" ;
}
}
6、写一个Web Service
package com.hp.service;
import com.hp.bean.MyBean;
public class SpringAwareService {
private MyBean myBean;
public void setMyBean(MyBean myBean) {
this .myBean = myBean;
}
public String response(){
return myBean.echo() + " Christmas!" ;
}
}
7、编写applicationContext.xml.(记住第一个bean,也就是applicationContext那个一定要有)
<bean id= "applicationContext"
class = "org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<bean id= "springAwareService"
class = "com.hp.service.SpringAwareService" >
<property name= "myBean" ref = "myBean" />
</bean>
<bean id= "myBean" class = "com.hp.bean.MyBeanImpl" ></bean>
8、在WEB-INF/services/下新建一个文件夹,这个名字可以起的随便,我们就起做test吧,然后在WEB-INF/services/test/下建立META-INF这个目录,最后在WEB-INF/services/test/META-INF/下建立services.xml,文件内容是:
<service name= "SpringAwareService" >
<description>simple spring example</description>
<parameter name= "ServiceObjectSupplier" >
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name= "SpringBeanName" >springAwareService</parameter>
<messageReceivers>
<messageReceiver mep= "http://www.w3.org/2004/08/wsdl/in-only"
class = "org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep= "http://www.w3.org/2004/08/wsdl/in-out"
class = "org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
</service>
这回再发布一下,在没有异常的情况下。访问一下http://<host>:<port>/<project name>/services/SpringAwareService?wsdl 看看
访问方法的示例
http://<host>:<port>/<project name>/services/SpringAwareService/<方法名>
分享到:
相关推荐
5. **整合 Axis2 与 SSH**:在Spring配置中,注入Axis2服务客户端,通过ServiceClient调用Web服务。在Struts2 Action中,调用Spring的bean来触发Web服务请求。 6. **测试和调试**:通过HTTP客户端或者测试工具(如...
在本例中,我们将`axis2-demo.aar`文件部署到该位置。 5. **调用服务**:一旦服务部署成功,可以通过HTTP请求调用这些服务。Spring Boot提供了一个内置的服务器,使得我们可以直接通过URL访问服务。例如,如果我们...
通过以上步骤和最佳实践,开发者可以有效地利用Axis2和Spring框架整合发布多个WebService,同时借助Maven进行项目管理,提高开发效率和代码质量。这为构建复杂、可扩展的企业级Web服务解决方案提供了坚实的基础。
整合 Axis2 和 Spring 可以带来很多好处,例如更好的服务治理、更高效的事务处理、更灵活的服务部署等。然而,这需要开发者对两个框架都有深入的理解,并且需要仔细处理集成过程中可能出现的问题,比如依赖冲突、...
4. 将AAR文件复制到`axis2-1.5.1-bin.zip`的`repository/services`目录,或在`axis2-1.5.1-war.zip`中将服务部署到Servlet容器。 5. 使用Axis2管理控制台或通过HTTP请求调用部署的服务。 标签中的“axis2-1.5.1-bin...
将Axis2与Spring整合可以让我们在Spring的环境中便捷地创建、管理和部署Web服务,同时利用Spring的众多优点。本文将深入探讨如何将这两者融合,并介绍相关的技术细节。 首先,理解Axis2 Web服务的核心概念。Axis2是...
当我们谈论“使用Axis2与SSH整合开发WebService”时,我们实际上是在讨论如何将Apache Axis2,一个强大的Java Web服务框架,与Spring(S)、Hibernate(H)和Struts(S)这三大流行开源框架相结合,来构建高效、可...
1. **配置Axis2**:在Spring项目中,首先需要将Axis2的相关库添加到项目的类路径下。这些库通常包括`axis2-*.jar`, `axiom-*.jar`, `neethi-*.jar`, `wsdl4j-*.jar`, `commons-discovery-*.jar`, `commons-logging-*...
总结起来,使用Axis2发布Web服务和生成客户端代码调用服务是一个标准化的过程,涉及到服务的编写、打包、部署以及客户端的代码生成和调用。了解并熟练掌握这一过程,对进行Java Web服务开发至关重要。在实际开发中,...
本篇将详细探讨如何将Spring 3.2.5版本与Axis2 1.6.2版本进行整合,以便在Spring环境中便捷地部署和管理Web服务。 首先,我们需要理解Spring和Axis2的基本概念。Spring框架以其依赖注入(Dependency Injection,DI...
### Axis与Axis2在WSDL2Java工具中的发布差异 #### 概述 本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,...
4. **部署服务**:将Spring配置文件和服务类打包成`.aar`文件,然后部署到Axis2。这样,当服务被请求时,Axis2会通过Spring加载并实例化服务bean。 5. **测试和调用**:现在,你可以像调用任何其他Axis2服务一样,...
标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...
在本文中,我们将详细探讨如何将Apache Axis2服务框架整合到WebSphere Application Server(WAS)7中。Axis2是一个强大的、高效的Web服务引擎,它提供了丰富的功能来创建和部署Web服务。而WAS7是IBM公司的一款企业级...
2. **整合意义**:SSH2与AXIS的整合让开发者可以利用SSH2的优秀特性来构建稳定、可维护的后端服务,同时利用AXIS轻松地发布这些服务为Web服务,方便跨平台、跨语言的通信。 3. **整合步骤**: - **配置AXIS**:...
通过本教程,你将了解到如何按照传统的SSH方式编写代码,如何利用Axis2发布WebService,以及如何在一个项目中配置多个WebService接口。此外,还会探讨提高WebService安全性的一些建议,并提供服务端和客户端的测试...
【标题】:Axis2与Eclipse整合开发的Web Service服务端详解 【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2,...
- 将`.aar`文件上传到Tomcat中的Axis2部署目录(通常是`TOMCAT_HOME/webapps/axis2/WEB-INF/services`),Tomcat会自动识别并部署服务。 5. **测试Web服务**: - 部署完成后,可以在Axis2管理界面中看到新部署的...
- **验证Web服务**:通过浏览器访问`http://localhost:9090/axis2/services/`,检查是否能看到已发布的Web服务列表。 #### 所需软件与工具 部署Axis2c Web服务可能需要以下软件和工具: - **Axis2c 1.6.0**:Web...
现在,让我们逐步解析如何将Axis2整合到项目中: 1. **环境准备**:确保你已安装了Java Development Kit (JDK) 和 Apache Maven。Axis2依赖于Maven进行构建和管理依赖。 2. **创建服务**:首先,创建一个简单的...