`
javalion
  • 浏览: 13568 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Axis2快速开发指南

阅读更多

http://ws.apache.org/axis2/1_3/quickstartguide.html可以找到原文,这里并没有彻底按照原文进行翻译。

准备工作
1、下载并安装JDK,Axis2要求JDK至少为1.4。设置JAVA_HOME环境变量;
2、下载Axis2;
3、解压Axis2后你会找到一个名为axis2.war的文件,把它拷贝到servlet引擎的发布目录;
4、设置AXIS2_HOME环境变量,或许你应该把%AXIS2_HOME%\bin变量加入到PATH中去。

在很多情况下,我们需要一个Service的WSDL文件,%AXIS2_HOME%\bin目录中的Java2WSDL可以根据你的代码自动生成该WSDL文件。同样有的时候会根据WSDL文件自动生成Java文件,这个工具wsdl2java也同样在%AXIS2_HOME%\bin目录中。
1、编译你的Java服务类
2、用以下命令通过服务类生成WSDL文件:
java2wsdl -cp . -cn package.StockQuoteService -of StockQuoteService.wsdl
想通过WSDL文件生成对应的Java文件,参看wsdl2java命令。

以下的例子均采用将我们定义的服务打包成aar文件拷贝到webapps\axis2\WEB-INF\services目录中。

第一个简单的Axis2 Web Service

以下是要作为WebService发布的类代码:

java 代码
  1. package org.jivaro.hw;   
  2.   
  3. public class HelloWorldService {   
  4.     public String echo(String value) {   
  5.         System.out.println("HelloWorld Service received: " + value);   
  6.   
  7.         return "HelloWorld Service received: " + value;   
  8.     }   
  9. }  

我们要发布这个Service,就得定义一个暴露这个类,通过定义这个services.xml:

xml 代码
  1. <service>  
  2.     <parameter name="ServiceClass" locked="false">  
  3.         org.jivaro.hw.HelloWorldService   
  4.     </parameter>  
  5.     <operation name="echo">  
  6.         <messageReceiver  
  7.             class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
  8.     </operation>  
  9. </service>  

嗯,现在我们具备了一个Web Service类,和一个描述服务的XML文件,可以发布了。目录层次应该如此,定义一个同服务名同名的文件夹(这里是HelloWorldService)作为根目录,里面包含了类文件和META-INF文件夹,META-INF下包含了services.xml文件。不用aar文件,也可以直接将这个文件夹拷贝到发布目录中去。

aar文件的打包方式有两种:

1、你确定你使用了具备打jar包的开发工具,打包该文件夹下的所有文件,不包含根目录,定义名称为HelloWorldService.aar;

2、使用命令行方式,请确定你设置了正确的环境变量,用jar打包服务类和META-INF,当然这种方式更适合通过build.xml文件来生成。

把HelloWorldService.aar拷贝到webapps\axis2\WEB-INF\services目录中。

启动Tomcat,通过控制台应可以看到如下信息

[INFO] Deploying Web service: HelloWorldService.aar

通过浏览器,输入:http://localhost:8080/axis2/services/listServices

能看到所有现有的服务,同样你能找到:

HelloWorldService

Service EPR : http://localhost:8080/axis2/services/HelloWorldService

Service Description : No description available for this service

Service Status : Active
Available Operations

  • echo

http://localhost:8080/axis2/services/HelloWorldService?wsdl,能看到这个服务的wsdl定义

http://localhost:8080/axis2/services/HelloWorldService?xsd,能查看这个服务的概要

http://localhost:8080/axis2/services/HelloWorldService/echo?value=111,可以看到返回了一个xml串:

xml 代码
  1. <ns:echoResponse xmlns:ns="http://hw.jivaro.org">  
  2.   <ns:return>HelloWorld Service received: 111</ns:return>    
  3. </ns:echoResponse>  

注意:因为我们的echo方法是这样定义的:public String echo(String value),所以在url里的参数是value而不是其它的变量。它正确返回了期待的字符串。

什么是WSDL?

是一种web服务描述语言,它描述了所提供的服务:

  • 它提供了哪些服务
  • 怎样调用这些服务
  • 当用户调用业务服务时,该业务服务需要用户提供什么信息?
  • 用户如何提供这些必须信息
  • 服务将以什么格式返回给用户的信息

通常,我们还需要了解SOAP。

关于WSDL的理解,可以查阅http://www.ibm.com/developerworks/cn/webservices/ws-intwsdl/part1/系列的文章。

分享到:
评论

相关推荐

    Axis2 WebService 开发指南 技术文档 入门文档

    《Axis2 WebService 开发指南》 Axis2是一款强大的Web服务框架,它是Apache Axis1的升级版,提供了更高效、更灵活的服务实现和部署机制。本指南将详细讲解如何使用Axis2进行Web服务的开发,从基础准备到高级特性,...

    axis2-WebService-开发指南.docx

    Axis2 WebService 开发指南 Axis2 是一个基于 Java 的开源 WebService 框架,具有高效、灵活、可扩展等特点。以下是对 Axis2 WebService 开发指南的知识点总结: 1. 环境准备: Axis2 的开发需要下载相关的 jar ...

    Axis1,Axis2,Xfire,CXF区别

    Axis2 的开发方式类似一个小型的应用服务器,Axis2 的开发包要以 WAR 的形式部署到 Servlet 容器中。Axis2 的 Web administrion 模块可以让我们动态的配置 Axis2。 CXF 是一种基于 XFire 和 Celtix 项目的结合产品...

    AXIS2快速学习资料

    这个PDF可能是更全面的AXIS2开发指南,可能包含以下主题: - AXIS2的架构和工作原理,解释其模块化设计和如何处理SOAP消息。 - 高级特性,如MTOM(Message Transmission Optimization Mechanism)和SwA(Soap ...

    axis2_webservice开发指南

    本指南将深入讲解如何使用Axis2进行Web服务的开发。 一、Axis2简介 Axis2是基于AXIOM(Abstract XML Information Model)的,提供了高性能和低内存占用的SOAP处理能力。它支持WS-I Basic Profile 1.1,确保了与不同...

    axis2开发Web Services入门

    ### Axis2 开发 Web Services 入门 #### 知识点概述 本文旨在介绍如何使用 Axis2 开发 ...对于初学者来说,这是一个非常实用且全面的学习指南,能够帮助他们快速掌握 Axis2 和 Web Services 的基本原理和技术要点。

    Axis1.4开发指南

    Axis1.4 开发指南是针对使用Axis框架进行Web服务开发的专业参考资料,主要适用于Java开发者。Axis是一个开源的SOAP(简单对象访问协议)工具包,它允许开发者将Java类暴露为Web服务,同时也支持调用其他系统提供的...

    axis2开发指南

    axis2学习指导,快速学习axis2,有关它的插件下载地址为:http://download.csdn.net/detail/kutekute/5355573

    eclipse axis2插件安装

    eclipse axis2 插件安装指南 Axis2 是一个开源的 Web 服务引擎,由 Apache 软件基金会维护。它提供了一个灵活、可扩展、性能高效的 Web 服务解决方案。Eclipse 是一个流行的集成开发环境(IDE),Axis2 插件安装...

    axis1.4官方包及开发指南

    5. **Axis1.4 开发指南_V1.0.pdf**: 这份文档可能是官方提供的详细开发指南,涵盖了从安装、配置到开发Web服务的全过程。通常会包含使用 Axis 工具创建、部署服务,调用服务,处理异常,以及与各种WS标准的集成等...

    axis2-1.6.1

    2. `axis2-1.6.1-docs.zip`:文档包,提供了关于Axis2 1.6.1版本的详细用户指南、开发者文档、API参考和教程。这些文档对于学习和理解如何使用和扩展Axis2至关重要,它们通常包括HTML格式的在线文档,PDF文件,以及...

    axis2-1.5.6完整版

    - **axis2-1.5.6-bin.zip**:这是 Axis2 的二进制发行版,包含了 Axis2 运行时环境的全部文件,包括库、配置文件和命令行工具,用于快速搭建和运行 Axis2 服务。 - **axis2-1.5.6-war.zip**:这是一个 Web 应用程序...

    axis2 包括源码 文档

    首先,`axis2-1.6.2-docs.zip` 文件包含了 Axis2 框架的完整文档,包括用户指南、开发者指南、API参考以及各种教程。这些文档对于理解 Axis2 的工作原理、如何创建和消费Web服务、以及如何自定义和扩展其功能至关...

    axis2_插件

    Axis2 是一个流行的开源Web...总的来说,myEclipse Axis2插件为Java开发者提供了一种高效的方式来开发和管理Axis2 Web服务,提高了开发效率,降低了复杂性。如果你经常处理Web服务项目,这款插件绝对值得尝试和使用。

Global site tag (gtag.js) - Google Analytics