`

Axis 2 整合到 SSH 项目,Axis2 整合,Axis2 发布,Axis2 部署

阅读更多
转自: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/<方法名>
分享到:
评论
1 楼 gaotao1210 2014-04-10  
我最后一步做完后,启动报错:
[ERROR] The transengine service, which is not valid, caused Invalid services.xml found
org.apache.axis2.AxisFault: Invalid services.xml found
at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:111)
at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)

请问大神,你知道吗?

相关推荐

    axis2的配置以及与ssh框架结合实例

    5. **整合 Axis2 与 SSH**:在Spring配置中,注入Axis2服务客户端,通过ServiceClient调用Web服务。在Struts2 Action中,调用Spring的bean来触发Web服务请求。 6. **测试和调试**:通过HTTP客户端或者测试工具(如...

    springboot集成axis2-1.7.9实例

    在本例中,我们将`axis2-demo.aar`文件部署到该位置。 5. **调用服务**:一旦服务部署成功,可以通过HTTP请求调用这些服务。Spring Boot提供了一个内置的服务器,使得我们可以直接通过URL访问服务。例如,如果我们...

    Axis2与Spring整合发布多个WebService

    通过以上步骤和最佳实践,开发者可以有效地利用Axis2和Spring框架整合发布多个WebService,同时借助Maven进行项目管理,提高开发效率和代码质量。这为构建复杂、可扩展的企业级Web服务解决方案提供了坚实的基础。

    axis2整合spring

    整合 Axis2 和 Spring 可以带来很多好处,例如更好的服务治理、更高效的事务处理、更灵活的服务部署等。然而,这需要开发者对两个框架都有深入的理解,并且需要仔细处理集成过程中可能出现的问题,比如依赖冲突、...

    使用axis2与ssh整合开发webService文档与源码

    当我们谈论“使用Axis2与SSH整合开发WebService”时,我们实际上是在讨论如何将Apache Axis2,一个强大的Java Web服务框架,与Spring(S)、Hibernate(H)和Struts(S)这三大流行开源框架相结合,来构建高效、可...

    Axis2WebService与Spring的整合

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

    axis2-1.5.1-bin.zip axis2-1.5.1-war.zip axis2部署使用

    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发布webservice和调用axis2服务接口

    总结起来,使用Axis2发布Web服务和生成客户端代码调用服务是一个标准化的过程,涉及到服务的编写、打包、部署以及客户端的代码生成和调用。了解并熟练掌握这一过程,对进行Java Web服务开发至关重要。在实际开发中,...

    spring axis2整合

    本篇将详细探讨如何将Spring 3.2.5版本与Axis2 1.6.2版本进行整合,以便在Spring环境中便捷地部署和管理Web服务。 首先,我们需要理解Spring和Axis2的基本概念。Spring框架以其依赖注入(Dependency Injection,DI...

    axis和axis2的一些发布差异(WSDL2Java) 收藏

    ### Axis与Axis2在WSDL2Java工具中的发布差异 #### 概述 本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,...

    使用Axis2整合Spring(二)

    4. **部署服务**:将Spring配置文件和服务类打包成`.aar`文件,然后部署到Axis2。这样,当服务被请求时,Axis2会通过Spring加载并实例化服务bean。 5. **测试和调用**:现在,你可以像调用任何其他Axis2服务一样,...

    axis2整合进was7的步骤

    在本文中,我们将详细探讨如何将Apache Axis2服务框架整合到WebSphere Application Server(WAS)7中。Axis2是一个强大的、高效的Web服务引擎,它提供了丰富的功能来创建和部署Web服务。而WAS7是IBM公司的一款企业级...

    axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_

    标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...

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

    1. **配置Axis2**:在Spring项目中,首先需要将Axis2的相关库添加到项目的类路径下。这些库通常包括`axis2-*.jar`, `axiom-*.jar`, `neethi-*.jar`, `wsdl4j-*.jar`, `commons-discovery-*.jar`, `commons-logging-*...

    SSH2整合AXIS

    2. **整合意义**:SSH2与AXIS的整合让开发者可以利用SSH2的优秀特性来构建稳定、可维护的后端服务,同时利用AXIS轻松地发布这些服务为Web服务,方便跨平台、跨语言的通信。 3. **整合步骤**: - **配置AXIS**:...

    Axis2集成SSH搭建WebService支持事务(图文详解含核心代码)

    通过本教程,你将了解到如何按照传统的SSH方式编写代码,如何利用Axis2发布WebService,以及如何在一个项目中配置多个WebService接口。此外,还会探讨提高WebService安全性的一些建议,并提供服务端和客户端的测试...

    Axis2与Eclipse整合开发的Web Service的服务端

    【标题】:Axis2与Eclipse整合开发的Web Service服务端详解 【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2,...

    axis2安装和部署

    - 将`.aar`文件上传到Tomcat中的Axis2部署目录(通常是`TOMCAT_HOME/webapps/axis2/WEB-INF/services`),Tomcat会自动识别并部署服务。 5. **测试Web服务**: - 部署完成后,可以在Axis2管理界面中看到新部署的...

    部署axis2c的文档

    - **验证Web服务**:通过浏览器访问`http://localhost:9090/axis2/services/`,检查是否能看到已发布的Web服务列表。 #### 所需软件与工具 部署Axis2c Web服务可能需要以下软件和工具: - **Axis2c 1.6.0**:Web...

    Axis2整合到项目中的示例代码

    现在,让我们逐步解析如何将Axis2整合到项目中: 1. **环境准备**:确保你已安装了Java Development Kit (JDK) 和 Apache Maven。Axis2依赖于Maven进行构建和管理依赖。 2. **创建服务**:首先,创建一个简单的...

Global site tag (gtag.js) - Google Analytics