`

Axis2快速上手指南

阅读更多
本指南的目的是让你尽可能快的创建使用Axis2的服务和客户端,我们将使用一个简单的StockQuote服务并显示给你一些创建和部署它
的不同的方式,以及快速的看看Axis2自带的一些工具,然后我们将看看创建访问这些服务的客户端。

内容
Java代码 复制代码
  1. 介绍  
  2. 做好准备  
  3. Axis2服务  
  4. 创建服务  
  5.      部署POJOs  
  6.      使用AXIOM构建服务  
  7.      使用ADB生成服务  
  8.      使用XMLBeans生成服务  
  9.      使用JiBX生成服务  
  10. 生成客户端  
  11.      使用AXIOM创建一个客户端  
  12.      使用ADB生成一个客户端  
  13.      使用XMLBeans生成一个客户端  
  14.      使用JiBX生成一个客户端  
  15. 总结  
  16. 进一步学习  


快速安装笔记:
文档的代码可以在解压的标准二进制发布[/url]找到,更明确的位于其中的Axis2_HOME/samples/目录-quickstart,quickstartdb,
quickstartaxiom,quickstartjibx和quickstartxmlbeans,如果你继续下去它将帮你掌握它。它包含一个Ant构建文件(build.xml)
贯穿所有的例子我们将提到它来使得编译更容易。

介绍
让我们以服务本身开始。我们将使它简单,所以你可以看到当我们构建并部署服务时会发生什么,一个StockQuoteService例子看起来
像这个,所以让我们使用下面的(参看Code Listing 1)。
Code Listing 1: StockQuoteService类
Java代码 复制代码
  1. package samples.quickstart.service.pojo;  
  2.   
  3. import java.util.HashMap;  
  4.   
  5. public class StockQuoteService {  
  6.     private HashMap map = new HashMap();  
  7.   
  8.     public double getPrice(String symbol) {  
  9.          Double price = (Double) map.get(symbol);  
  10.         if(price != null){  
  11.             return price.doubleValue();  
  12.          }  
  13.         return 42.00;  
  14.      }  
  15.   
  16.     public void update(String symbol, double price) {  
  17.          map.put(symbol, new Double(price));  
  18.      }  
  19. }  

它将为一个具有两个可能的调用的简单服务,其中一个是一个in/out消息,另一个则为一个只能in的服务,最终我们将打包服务并用
四种不同的方式部署部署它。
首先,让我们看看这个简单的Java类怎样响应一个服务。

做好准备
在我们使用Axis2构建任何东西之前,我们将需要关注一些家务事。现在你将需要准备好你使用Axis2的环境,幸运的是,它只包括一
些简单的步骤:
1,下载并安装Java(版本至少为JDK1.4)
2,下载Axis2并解压到一个目标目录
3,复制axis2.war文件到你的servlet引擎的webapps目录
4,设置AXIS2_HOME环境变量来指出目标目录,注意Axis2生成的所有脚本和构建文件依赖于这个值,所以不要遗漏了这个步骤。
大多数情况下,我们的服务也将需要一个WSDL文件,Axis2的Java2WSDL可以用来生成一个WSDL。执行以下步骤来从一个Java类生成一
个WSDL文件:
1,创建并编译Java类
2,使用该命令生成WSDL:
%AXIS2_HOME%/bin/java2wsdl -cp . -cn samples.quickstart.service.pojo.StockQuoteService -of StockQuoteService.wsdl
移动你生成WSDL文件,你可以做你需要的任何更改。例如,你可能添加自定义的过错或者改变生成的元素名。例如,该StockQuoteSer
vice.wsdl位于%AXIS2_HOME%/samples/quickstartadb/resources/META-INF文件夹,我们将在本指南的其他部分使用它,代替生成过
程创建的一般参数。

Axis2服务
在我们构建任何东西之前,理解最终产品看起来像什么是有用的。Axis2的服务器端可以被部署在任何Servlet引擎上,并且有如下的
Code Listing 2显示的结构。
Code Listing 2: axis2.war的目录结构
Java代码 复制代码
  1. axis2-web   
  2. META-INF  
  3. WEB-INF  
  4.      classes   
  5.      conf  
  6.         axis2.xml   
  7.      lib  
  8.          activation.jar  
  9.          ...  
  10.          xmlSchema.jar  
  11.      modules  
  12.          modules.list   
  13.          addressing.mar  
  14.          ...  
  15.          soapmonitor.mar  
  16.      services  
  17.          services.list  
  18.          aservice.aar  
  19.          ...  
  20.          version.aar  
  21.      web.xml  

从最上面开始,axis2-web是组成Axis2管理程序的一些JSPs,你可以通过它来执行任何需要的动作,例如添加服务,使用模块和禁止
模块。WEB-INF包含了运行部署到服务目录的任何服务的实际上的java类和其他支持文件。
这里主要的文件是axis2.xml,它控制程序怎样与接收的消息打交道,决定Axis2是否需要使用模块目录里定义的任何模块。
这里你可以看到,服务可以被部署为*.aar文件,但是它们的内容必须以一个特殊的方式安排。例如,服务的结构将为如下:
Java代码 复制代码
  1. - StockQuoteService  
  2.     - META-INF  
  3.       - services.xml  
  4.     - samples  
  5.       - quickstart  
  6.         - service  
  7.           - pojo  
  8.             - StockQuoteService.class  

这不是太复杂,服务的名字为StockQuoteService,它在services.xml中指定,并且根据包名把任何Java类放到合适的位置。META-INF
目录包含关于Axis2需要来正确执行服务的额外信息。services.xml文件定义了服务本身并把Java类链接到它(参看Code Listing 3)。
Code Listing 3: 服务定义文件
Java代码 复制代码
  1. <service name="StockQuoteService" scope="application">  
  2.      <description>  
  3.          Stock Quote Sample Service  
  4.      </description>  
  5.      <messageReceivers>  
  6.          <messageReceiver   
  7.              mep="http://www.w3.org/2004/08/wsdl/in-only"  
  8.     class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>  
  9.          <messageReceiver  
  10.              mep="http://www.w3.org/2004/08/wsdl/in-out"  
  11.     class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  12.      </messageReceivers>  
  13.      <parameter name="ServiceClass">  
  14.          samples.quickstart.service.pojo.StockQuoteService  
  15.      </parameter>  
  16. </service>  

这里你看到服务本身被定义了,以及不同的消息交换模式相关的messageReceiver类型。
META-INF目录也是你打算包含在该程序中的自定义WSDL文件的位置。
你可以通过简单的采用该文件目录结构并复制到你的servlet引擎的webapps目录来部署一个服务,这是著名的"爆发"形式,但是你也
可以压缩你的文档到一个*.aar文件,类似于一个*.jar文件,并直接将*.aar文件放到servlet引擎的webapps目录。
既然你理解了我们在尝试完成什么,我们几乎准备好开始构建了。
首先,下载并解压合适版本的Axis2标准二进制发布。确认你设置了AXIS2_HOME变量的值来匹配你解压该版本内容的位置。
让我们看看一些创建客户端和服务的不同方式。
分享到:
评论

相关推荐

    axis2 webservice开发指南.pdf

    axis2 webservice开发指南

    用Axis2快速发布自己的wsdl服务

    用Axis2快速发布自己的wsdl服务,注意:里面的axis2(即axis2War解压后)文件里面的内容已清空,你可以在网上下载。你可以结合前面的《Axis2创建服务端实例》资源分析。

    axis2_WebService_开发指南

    Axis 的简单准备 Axis 的入门实例 Axis 复杂对象类型的WebService Axis 的辅助工具发布、调用WebService Axis WebService 会话Session 的管理 Axis 用控制台Dos 命令发布WebService Axis 跨多个WebService 管理...

    Axis2指南(PDF版本)

    Axis2指南,介绍Axis2架构体系,英文。

    Axis2快速发布服务端以及客户端详解(根据wsdl)

    Axis2快速发布服务详解:包括服务端与客户端。 此资源只包括脚本以及说明,整个目录没有上传。 我在此说明一下:根目录Axis2_141|---client |---server |---axis2-1.4.1(axis2的完整包) |---axis2(axis2_war...

    Axis2 WebService 开发指南

    Axis2_WebService_开发指南(转)

    axis2例子 webservice axis2 示例

    axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例axis2例子 webservice axis2 示例

    Axis2创建web service快速入门

    Axis2创建web service快速入门

    axis2应用指南及helloworld代码--axis2开发之个人开发必备!!

    axis2服务端的各种写法及客户端的用法及helloworld代码,包配环境部署文件axis2.war 其中 services文件 - - &lt;!-- 实现的服务类,locked 锁定 xsd:false 一种格式 --&gt; ...

    完整的axis2 jar包包含实例.zip

    axis2 webservice 服务端jar包: --&gt;axis2-kernel-1.6.1.jar --&gt;axis2-spring-1.6.1.jar --&gt;axis2-transport-http-1.6.1.jar --&gt;XmlSchema-1.4.7.jar --&gt;wsdl4j-1.6.2.jar --&gt;axiom-api-1.2.12.jar --&gt;axiom...

    axis2-1.6.2.zip

    axis2-1.6.2.zip, windows axis2工具,根据 WSDL生成java文件。 1、axis2客户端下载地址:http://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; 2、下载解压在D:\Work_Program_...

    AXIS2快速学习资料

    各位看官,超级经典AXIS2资料,让你在最短的时间内,学会如何开发AXIS2程序,你下载后如果觉得对你没有帮助,不值10的币,请评分区去骂。 (包含一个中文WORD,一个英文PDF)

    axis2相关的jar包

    axis2-adb-1.5.4.jar axis2-adb-codegen-1.5.4.jar axis2-codegen-1.5.4.jar axis2-corba-1.5.4.jar axis2-fastinfoset-1.5.4.jar axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-...

    axis2-1.7.8.zip

    axis2-1.7.8.zip客户端。2、下载解压在D:\Work_Program_Files目录;在D:\Work_Program_Files\axis2-1.6.2\bin目录有一个wsdl2java.bat文件; 3、设置环境变量,加入AXIS2_HOME=Axis2客户端安装目录,path中追加;%...

    axis2发布webservice和调用axis2服务接口

    本案例实现使用Axis2生成.arr包发布WebService服务,并使用Axis2生成客户端代码方式调用WebService

    webservice-axis2引擎-快速入门资料

    Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis...

    axis2的API,axis2 API,axis2帮助文档

    axis2的API,axis2 API,axis2帮助文档

    axis2-1.6.1

    axis2-1.6.1

    axis1.4和axis2相关jar文件

    axis1.4和axis2相关jar文件,axis1.4和axis2相关jar文件

    axis2和axis2+spring发布服务指南

    axis2和axis2+spring发布服务指南

Global site tag (gtag.js) - Google Analytics