`
lixinye0123
  • 浏览: 333287 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

新一代Web Service 实现包 -- AXIS2 学习笔记 (一)

    博客分类:
  • Java
阅读更多

我比较懒惰,不想把user guide全部翻译,就记录一些点吧。

Axis2是全新设计的,在2004年的“Axis峰会”上,大家决定采用新的架构来让Axis更加的富有弹性,更有效率,并且更加的可配置。Axis2现在具有的一些feature:
Speed
Low memory foot print
AXIOM - AXis Object Model
Hot Deployment
Asynchronous Web Services
MEP Support - Message Exchange Patterns
Flexibility
Stability
Component-oriented deployment
Transport framework
WSDL support

有些feature现在看不懂,还是先动手做一下,感性认识一下吧

第一步:下载AXIS2。http://ws.apache.org/axis2/download.cgi。很有趣,在apache的Web Service 的Project目录下面还看不到AXIS2。要下那个binary的版本,因为里面有例程。
第二步:Copy axis2.war到$TOMCAT_HOME/webapps目录下面。Tomcat好像只能用JDK1.4,我在JDK1.5 用不出来。
第三步:打开 http://localhost:8080/axis2,就可以看到axis2的Welcome页面了。点一下Validate 和Services,看是不是都没有错误。都没有错误的话,就表示deploy成功了。那个adminstration页面可以通过上传文件来hot deploy Web service,可以用来remote deploy。
第四步:研究例程。先从"samples/userguide/src"目录下的例程看起。看到写一个web service很简单嘛:

public class MyService {
public OMElement echo(OMElement element) throws XMLStreamException {
//Praparing the OMElement so that it can be attached to another OM Tree.
//First the OMElement should be completely build in case it is not fully built and still
//some of the xml is in the stream.
element.build();
//Secondly the OMElement should be detached from the current OMTree so that it can be attached
//some other OM Tree. Once detached the OmTree will remove its connections to this OMElement.
element.detach();
return element;
}

public void ping(OMElement element) throws XMLStreamException {
//Do some processing
}
public void pingF(OMElement element) throws AxisFault{
throw new AxisFault("Fault being thrown");
}
}

看得出来,函数统一使用OMElement作为参数。在META-INF目录下面有个services.xml文件:
<service name="MyService">
<description>
This is a sample Web Service with two operations,echo and ping.
</description>
<parameter name="ServiceClass" locked="false">userguide.example1.MyService</parameter>
<operation name="echo">
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
<operation name="ping">
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
</operation>
</service>
呵呵,也很简单嘛。有返回值的就用RawXMLINOutMessageReceiver,没返回值的就用RawXMLINOnlyMessageReceiver。把它们编译(要把axis2的jar写到classpath里去)打包压到 MyService.aar,包里文件目录如下:
./\META-INF/services.xml
./userguide/example1/MyService.class
把MyService.aar拷贝到$TOMCAT_HOME/webapps/axis2/WEB-INF/services,然后去点一下http: //localhost:8080/axis2页面上的Services,也就是http://localhost: 8080/axis2/listServices.jsp,就可以看到MyService已经被列出来了。

 
分享到:
评论

相关推荐

    axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2

    标题中的"axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2"指的是两个与Apache Axis2相关的Eclipse插件:Axis2代码生成插件和Axis2服务插件,它们是版本1.6.2的。Apache Axis2是一个流行的...

    axis2-eclipse-service-archiver-wizard和axis2-eclipse-codegen-wizard

    共四个文件,都是最先版的,希望可以帮助大家。axis2-eclipse-service-archiver-wizard和axis2-eclipse-codegen-wizard和axis2-1.6.1-bin和axis2-1.6.1-war

    axis2-eclipse-service与axis2-eclipse-codegen插件

    目前axis2最高版本是2.0以上的版本,但是eclipse和myeclipse都不支持,无奈只能使用低版本的插件1.6.3;经实验,可以安装成功;...axis2-eclipse-service-plugin-1.6.3.zip axis2-eclipse-codegen-plugin-1.6.3.zip

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

    `axis2-1.5.1-bin.zip`是Axis2的二进制包,它包含了运行和开发Web服务所需的所有基本组件。这个包通常用于本地开发环境或者在服务器上进行手动安装。其中包含的主要文件和目录有: 1. `bin`目录:包含启动和管理...

    axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip

    总之,"axis2-eclipse-codegen-plugin-1.6.2.zip"和"axis2-eclipse-service-plugin-1.6.2.zip"是强大的开发工具,它们为使用Apache Axis2开发Web服务的Eclipse用户提供了一个友好的环境,使得Web服务的生命周期管理...

    axis2-eclipse-codegen-plugin-1.6.2+axis2-eclipse-service-plugin-1.6.2

    Apache Axis2 是一个著名的Web服务框架,用于创建和部署SOAP(简单对象访问协议)和RESTful Web服务。Eclipse Codegen Plugin 和 Service Plugin 是Axis2为Eclipse集成开发环境提供的两个重要工具,它们极大地简化了...

    axis2-1.6.2-war+axis2-1.6.1-war+axis2-1.6.2-bin

    标签"axis2架包"指的是与Apache Axis2相关的软件包,可能用于搭建和管理Web服务环境。 压缩包子文件的文件名称列表包括: - release-notes.html:这个文件通常包含软件发布的重要更新、改进、已知问题和修复等信息...

    axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codege-plugin.zip

    标题中的"axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codegen-plugin.zip"指出这是一个Axis2的Eclipse插件,主要用于代码生成工具。在 Axis2 的开发环境中,此插件扮演着至关重要的角色,它能帮助开发者...

    完整的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.0-bin和axis2-1.6.0-war

    Apache Axis2是基于Java的Web服务引擎,它是Apache SOAP项目的下一代产品,用于创建和部署Web服务及处理SOAP消息。 **Apache Axis2概述** Apache Axis2是一个强大的、灵活的Web服务框架,它支持多种协议,如HTTP、...

    axis2-eclipse-codegen-plugin-1.6.0与axis2-eclipse-service-plugin-1.6.0

    axis2-eclipse-codegen-plugin-1.6.0和axis2-eclipse-service-plugin-1.6.0有关jar包下载,解压后直接将这两个jar包放到eclips下的plugins目录下,重启eclipse即可

    axis2.eclipse.service.plugin-1.5.jar

    标签:axis2.eclipse.service.plugin-1.5.jar,axis2.eclipse.service.plugin,1.5,jar包下载,依赖包

    axis2-eclipse-service-archiver-wizard.zip

    axis2-eclipse-service-archiver-wizard.zip

    axis2-eclipse-service-plugin-1.5.4

    总的来说,Axis2 Eclipse Service Plugin 1.5.4是一个强大的工具,它使Java开发者在Eclipse环境中处理Apache Axis2 Web服务变得更加简单和高效。通过这个插件,开发者可以更专注于服务的业务逻辑,而非繁琐的配置和...

    axis2相关的jar包

    axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-jibx-1.5.4.jar axis2-json-1.5.4.jar axis2-kernel-1.5.4.jar axis2-metadata-1.5.4.jar axis2-mtompolicy-1.5.4.jar axis2-saaj-...

    axis2-eclipse-service-plugin-1.7.4.zip

    标题中的"axis2-eclipse-service-plugin-1.7.4.zip"指的是Axis2 Eclipse服务插件的1.7.4版本的归档文件,它是一个专门为Eclipse集成开发环境(IDE)设计的扩展。这个插件允许开发者在Eclipse中方便地创建、部署和...

    Web service --AXIS2 资料(一)

    【标题】:“Web服务 -- AXIS2 资料(一)” 在Web服务的世界中,AXIS2是一个关键的角色,它是一个高效的、基于Java的Web服务框架,用于创建和部署Web服务。本资料将深入探讨AXIS2的核心概念、工作原理以及如何利用...

    axis2-1.5.6完整版

    Axis2 是一个强大的 Web Service 框架,它是由 Apache 软件基金会开发的,主要用于构建和部署 Web 服务。版本 1.5.6 是 Axis2 的一个稳定版本,提供了一系列增强的功能和修复了若干已知问题,使得在 SAP 中进行 Web ...

    axis2相关jar包~eclipse支持插件包

    1、axis2相关jar包如下: axiom-api-1.2.10.jar axiom-dom-1.2.10.jar axiom-impl-1.2.10.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-...

Global site tag (gtag.js) - Google Analytics