Axis全称Apache eXtensible Interaction System,是apache组织下的一个开源项目,用来做webservice开发的,有java版的实现,也有c++版的实现,其前身最早是IBM的SOAP4J,后来捐给Apache后改名Apache SOAP,也就是支持SOAP1.1的那个版本,到现在的AXIS已经是第三代了,AXIS对Apache SOAP的改进有很多,比如用SAX代替以前的DOM,增加对WSDL的支持,支持SOAP1.2等等使用axis很easy,在apache网站上把axis下载了后(最新版本1.2.1),把%AXIS_HOME%\webapps\axis整个目录copy到tomcat的webapps目录下面,启动tomcat,浏览器中输入http://localhost:8080/axis就可以了上面说的只是axis运行起来了,要想布置自己的webservice,axis支持两种方法:一种是用JWS(Java Web Service),好处是只要有源码比如说Hello.java,把他改成Hello.jws后放到%TOMCAT_HOME%\webapps\axis目录下面就搞定,浏览器里面输入http://localhost:8080/axis/Hello.jws就可以了,不足的地方是能配置的地方有限(比如说Hello.java里面的所有public非static方法都会暴露),很多东西没办法弄;第二种方法就是使用wsdd(web service deploy description),这个就是在TOMCAT_HOME%\webapps\axis\WEB-INF目录下写一个deploy.wsdd和undeploy.wsdd文件,然后通过java org.apache.axis.client.AdminClient deploy.wsdd就搞定了,卸载这个webservice就用org.apache.axis.client.AdminClient undeploy.wsdd,客户端输入http://localhost:8080/axis/services/Hello就可以了介绍了部署webservice的两种方法后,下面说说客户端的访问方式,也有两种,一种是通过axis实现的java里面的JAX-RPC进行动态调用,另外一种就是通过服务器端产生的wsdl文件利用WSDL2Java工具生成Client Stub后访问。通过JAX-RPC的比较简单,需要提供的有SOAP router URL,service namespace,operation name,operation parameter types,operation return types,看看下面这个例子就明白了: public SOAPWrapper() { String location = "http://localhost:8080/axis/services/BookService"; try { Service service = new Service(); call = (Call)service.createCall(); call.setTargetEndpointAddress(new url(/location)); } catch (Throwable t) { handleError("SOAPWrapper (constructor) had an Exception.",t); } } public void create(Book book) { try { call.removeAllParameters(); call.setOperationName("create"); call.addParameter("arg1",qn,ParameterMode.IN); call.setReturnType(XMLType.AXIS_VOID); call.invoke(new Object[] {book}); return; } catch (Throwable t) { handleError("SOAPWrapper (create) had an Exception.",t); return; } }程序中的Call和Service是对JAX-RPC中Call和Service的具体实现:org.apache.axis.client.Call implements javax.xml.rpc.Call,org.apache.axis.client.Service implements javax.xml.rpc.Service第二种客户端的方法就是利用WSDL2Java产生Client stub后通过stub调用,WSDL2Java的操作对象是service所对应的wsdl文件,这个文件怎么产生呢?一种方法前面是由axis自动产生,如前面服务器端的配置所说,无论通过jws或是wsdd的方式,axis都会产生相应的wsdl;还有一种方式就是利用Java2WSDL对java源文件进行操作也可以产生相应的wsdl文件。
分享到:
相关推荐
Axis1, Axis2, Xfire, CXF 区别 Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而Axis和Axis2是两种流行的Java SOAP(简单对象访问协议)框架,用于构建和消费Web服务。本文将深入探讨这两个API,以及它们在Web服务开发中的作用。 ...
标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...
Axis是Apache组织开发的一款开源Web服务框架,主要用于构建和部署SOAP(Simple Object Access Protocol)服务。Axis分为两个主要版本:Axis1.x和Axis2.x,它们都是Java平台上的Web服务实现,但在设计和功能上有所...
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-...
在Java世界中,Apache Axis是用于构建Web服务和客户端应用程序的工具包,它允许开发者将Java类暴露为Web服务,并且能够消费其他Web服务。Axis分为两个主要版本:Axis1和Axis2,这两个版本在功能、性能和设计上都有所...
Axis2是Apache软件基金会开发的一个开源Web服务引擎,它提供了基于SOAP(Simple Object Access Protocol)的Web服务实现。本文将详细介绍Axis2的API及其在Web服务开发中的应用,同时也会探讨Axis2的帮助文档如何协助...
### Axis与Axis2在WSDL2Java工具中的发布差异 #### 概述 本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,...
Apache Axis2是著名的开源Web服务框架,用于构建和部署高效且灵活的Web服务。这个框架是基于Axis1的升级版,提供了许多改进和新特性,包括更好的性能、模块化架构和增强的MIME支持。标题提到的“axis2-1.5.1-bin.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_...
Apache Axis 是一个开源的Web服务框架,主要用于实现SOAP(简单对象访问协议)协议。它使得开发和部署基于Java的Web服务变得更为简便。标题“axis1.4完整包下载”表明我们关注的是Apache Axis的1.4版本,这是一个较...
axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...
Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...
标题“axis2-1.6.1”指的是Apache Axis2的1.6.1版本,这是一个流行的开源Web服务引擎,用于构建和部署Web服务。Apache Axis2是Axis1的下一代,设计为更灵活、可扩展且高效。在这个版本中,它提供了一系列改进和新...
AXIS1全套JAR包是针对AXIS 1版本的Web服务开发工具包,它包含了进行Java Web服务开发所需的全部核心库。AXIS是Apache软件基金会的一个开源项目,专门用于创建、部署和管理Web服务。AXIS1是早期版本,但至今仍被一些...
CXF与Axis2框架区别详解 CXF和Axis2是两个流行的Webservice框架,都是由现有的项目逐渐演化而来的。Axis2是由Axis1.x系列演化而来,而Apache CXF则是由Celtix和XFire项目整合而生。在本文中,我们将探讨CXF和Axis2...
标题中的"axis2-1.4.1-bin.zip"和"axis2-1.4.1-war.zip"指的是Apache Axis2的两个不同版本的发行包,分别代表了Axis2的可执行二进制版本和Web应用程序版本。Apache Axis2是一个高度可扩展且功能强大的Web服务引擎,...
Axis2是Apache软件基金会开发的一个开源Web服务框架,主要用于构建高度可扩展且模块化的Web服务。这个框架基于SOAP(简单对象访问协议)和WS-*(Web服务*规范集),为开发者提供了一种高效且灵活的方式来创建和部署...
axis.jar, axis2-adb-1.6.2.jar, axis2-kernel-1.6.2.jar, axis2-transport-http-1.6.1.jar, axis2-transport-local-1.6.1.jar, commons-codec-1.3.jar, commons-discovery.jar, commons-...
【标题】"Axis发布Web服务教程源代码"指的是使用Apache Axis框架来创建并发布Web服务的教学资源,其中可能包含了详细的步骤、示例代码以及相关的配置文件。Apache Axis是开源的Java库,它允许开发者在Java平台上快速...