`
samsongbest
  • 浏览: 170127 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

axis2集成到自己的项目中demo

 
阅读更多

axis2集成到自己的项目中demo   

2009-06-10 11:50:33 |  分类: java | 字号   订阅

axis2之前只用过jws方式的即时部 署,最近一个项目要搞web service,一搜搜出一堆,发现自己已经太落后了,axis2怎么怎么好,XFire怎么性能高,绑定的方式有adb,xmlbeans,jibx等 等好几种,简直眼花缭乱,废话少说了,折腾了一个星期,总结了一点小经验,给大家少走弯路。一般网上的教程都是下载axis2的war包放到 webapps下,很少有说把axis2集成到自己的web项目中的。经过测试,按以下几步即可:

第一步:下载axis2的war, 放到tomcat下的webapps目录下,启动tomcat,自动解包出 axis2目录。

第 二步:将axis2目录下的关键文件和目录拷贝到自己的项目中。拷贝axis2/web-inf下的所有目录到你自己的web目录的web-inf下面, 除了modules目录(这个没用)。lib下的jar包还是单独拷吧,别覆盖了你的jar包。另外关键的是要修改conf目录下的axis2.xml, 注释掉关于module方面的代码就是addressing的那一行一定要注释掉。

第三步:修改你的web.xml,增加axis2的servelet

<servlet> 
      <display-name>Apache-Axis Servlet</display-name> 
      <servlet-name>AxisServlet</servlet-name> 
      <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> 
      <load-on-startup>1</load-on-startup> 
 </servlet> 
 <servlet-mapping> 
      <servlet-name>AxisServlet</servlet-name> 
      <url-pattern>/services/ *</url-pattern> 
 </servlet-mapping>

第四步:写服务端代码并编译:

package axis2test;

public class AddService {
    public int add(int a,int b)
    {
        return a+b;
    }
}

第 五步:进入web-inf/services目录下,可以看见原来axis2自带的一个version.*.aar, aar其实就是一个jar,改名了而已,用winrar打开他,清空里面的东西,然后把你的class带着目录拷贝进来,再建立一个META-INF目 录,里面放一个services.xml, 这样tomcat启动时候就可以自动部署它了。下面看看services.xml怎么写:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
 <service name="NBIService">
  <description>This is the service for revoking certificate.</description>
  <parameter name="ServiceClass" locked="false">oma.nbi.NBIServer</parameter>
  <operation name="sayHello">
   <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
   <actionMapping>urn:sayHelloRequest</actionMapping>
  </operation>
 </service>
</serviceGroup>

这是一种RawXMLINOutMessageReceiver模式的,适用于axiom绑定的架构,我们不用它,用RPC方式:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
 <service name="AddService">
  <description>This is the service for revoking certificate.</description>
  <parameter name="ServiceClass" locked="false">axis2test.AddService</parameter>
  <operation name="add">
   <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
  </operation>
 </service>
</serviceGroup>

好了,server端就部署好了,现在启动tomcat,用ie查看wsdl,顺利的话,应该可以看到

http://localhost:8080/你web项目的名字/services/AddService?wsdl 来查看

第六步:

下面写客户端代码:

import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;


public class TestClient {

    public static void main(String[] args) throws AxisFault {
        EndpointReference targetEPR = new EndpointReference(
                "http://localhost/ext2/services/AddService.AddServiceHttpSoap11Endpoint/ ");
        RPCServiceClient serviceClient = new RPCServiceClient();
        Options options = serviceClient.getOptions();
        options.setTo(targetEPR);
        String ns = "http://axis2test";// 这里axis2test应该是你的package路径,否则会报错找不到
        QName opAdd = new QName(ns, "add");
        Class[] returnTypes = new Class[]{Integer.class};
        Object[] opAddArgs = new Object[]{"199", "6"};
        Object[] response = serviceClient.invokeBlocking(opAdd,opAddArgs, returnTypes);
        Integer result = (Integer) response[0];
        if (result == null) {
            System.out.println("hello didn't initialize!");
            return;
        }
        System.out.println(result);
       
    }
}

http://localhost:8080/你web项目名字/services/AddService/add?a=5&b=17

,结果得到 :

<ns:return>22</ns:return>

分享到:
评论

相关推荐

    springboot集成axis2-1.7.9实例

    2. **创建Web服务**:在Axis2中,Web服务通常以`.aar`(Axis2 Archive)文件的形式存在。你可以通过编写Java类来定义服务接口和实现,然后使用Axis2工具生成`.aar`文件。例如,你可以创建一个名为`axis2-demo`的服务...

    Axis2例子Demo

    3. **模块**:模块是Axis2中的可插拔组件,可以添加额外的功能,如安全、事务等。 **五、 Axis2与其他技术的集成** 1. **SOAP与REST**:Axis2不仅支持SOAP,还可以处理RESTful请求,通过Axiom和RESTEasy等库实现。 ...

    Springboot集成axis1.4的demo

    当我们需要在Spring Boot项目中集成旧版的 Axis1.4 来发布Web服务时,这通常涉及到对传统SOAP(简单对象访问协议)服务的支持。以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 ...

    Axis2完美例子Demo

    【标题】"Axis2完美例子Demo"所涉及的知识点主要集中在 Axis2 和 Web服务开发上。Axis2 是一个流行的开放源代码Web服务引擎,用于构建和部署SOAP(Simple Object Access Protocol)和RESTful(Representational ...

    Axis2搭建WebService服务端demo

    在本文中,我们将深入探讨如何使用Spring、Axis2和Maven构建一个基于Java的Web服务(WebService)服务端示例。这些技术的结合为开发人员提供了高效、灵活且可扩展的解决方案来创建和消费Web服务。 首先,让我们了解...

    axis2_demo实战 复杂对象传输 文件传输

    这些资源可以帮助开发者了解并实践如何在Axis2中实现复杂的对象传输和文件传输。通过阅读和运行这些示例,开发者可以掌握如何在实际项目中使用Axis2来解决类似问题。 总的来说,这个实战教程将指导你如何利用Axis2...

    webserivce服务框架axis2发布服务demo

    在这个"webserivce服务框架axis2发布服务demo"中,"sync"可能是指同步部署服务的过程。具体步骤可能包括: - 创建一个名为`SyncService`的Java类,其中包含一些服务方法。 - 使用Axis2的wsdl2java工具,根据`Sync...

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

    本示例代码将深入探讨如何将Axis2集成到您的项目中,以便利用其功能来创建和消费Web服务。 首先,我们需要了解Axis2的核心概念。Axis2是基于Axis1的下一代Web服务引擎,它引入了模块化架构,使得Web服务的部署和...

    Axis Webservice Demo

    开发者通常会将这些库添加到他们的项目类路径中,以便能够使用Axis提供的API和服务生成工具。 现在,让我们深入了解一下Apache Axis的核心知识点: 1. **SOAP与Web服务**:SOAP是一种基于XML的消息传递协议,用于...

    [JAVA]-Axis-Webservice-Demo

    要使用Axis,需要将其配置到你的开发环境中,通常是将lib目录下的jar文件添加到项目的类路径中,并确保服务器环境中也包含了这些依赖。 五、`calculateservice-src` `calculateservice-src`可能是Web服务的源代码,...

    springboot使用axis1.4的demo

    在本文中,我们将深入探讨如何在Spring Boot项目中集成并使用Axis1.4来发布Web服务。Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP ...

    axis2 相关代码加上书籍

    6. **安全和事务管理**:学习如何在Axis2中实现Web服务的安全性,如WS-Security,以及如何配置事务管理,确保服务操作的一致性。 7. **性能优化**:掌握Axis2的性能调优技巧,如缓存策略、多线程处理和消息批处理等...

    基于Axis2的WebService的实例demo(包含jar包)

    本实例将深入讲解如何使用Axis2来创建一个简单的WebService,并将其整合到Web项目中。 1. **Axis2介绍** Axis2是Axis1的升级版,它基于Apache SOAP项目,并提供了更多的特性,如更好的模块化结构、支持WS-*标准...

    使用axis2的webservice的demo

    这个过程可以通过Axis2的命令行工具或者集成开发环境(如Eclipse)中的插件完成。 3. **部署Web服务**: AAR文件可以在Axis2服务器上部署,使其对外提供服务。部署可以通过管理控制台或命令行完成。部署后,服务会...

    Springboot,axis1.4的demo

    在本示例中,"Springboot,axis1.4的demo" 提供了一个具体的案例,展示了如何在 SpringBoot 项目中集成 Axis1.4,这是一个古老的但仍然广泛使用的 SOAP Web 服务框架。SOAP(简单对象访问协议)是一种用于交换结构化...

    通过axis使用网上天气预报服务的demo

    3. **下载Axis 2的jar包**:访问Apache官方网站或其他可信源下载所需的Axis 2 jar包,并将其添加到项目构建路径中。 4. **获取在线天气预报服务的WSDL文件**:根据文章描述,可以使用如下URL获取该服务的WSDL文件: ...

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

    - **源码demo**:这可能是一个示例项目,包含了使用Axis2、Spring、Hibernate和Struts整合开发Web服务的代码。源码可以帮助开发者理解如何在实际项目中集成这些框架。 通过学习和分析这个文档和源码,开发者可以...

    Apache Web Services (Axis2 Version 1.4.1) SOA Demo.doc

    通过这个过程,你将了解到如何配置开发环境,编写Java服务端代码,以及如何将这些服务部署到Axis2容器中。 二. 准备 在开始之前,确保你已经安装了以下软件: 1. JDK:你需要Java Development Kit(JDK)来编译和...

    Axis2.0 Demo

    在这个项目中,开发者将学习到Axis2.0作为Java EE(J2EE)环境下的Web服务引擎如何与MyEclipse IDE协同工作,以实现高效、灵活的Web服务开发。 【描述】描述中提到的步骤展示了Axis2.0的简单集成过程: 1. **新建...

    java axis调用第三方webservice程序demo

    在Java开发中,有时我们需要与外部系统进行交互,这时候Webservice接口就显得尤为重要。Axis是Apache组织提供的一款开源工具,...在实际项目中,开发者需要根据具体的WSDL文件和业务需求,灵活运用上述知识进行开发。

Global site tag (gtag.js) - Google Analytics