webservice之axis介绍1

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文件。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1546269

利用axis1 客户端调用cxf写的webservice接口 客户端:JDK1.5, axis1 服务端:JDK1.7,spring集成cxf发布的webservice 本人试了JaxWsDynamicClientFactory 动态调用CXF的客户端,后来发现它不支持jdk1.5,网上很多人说,从JDK1.6才支持的。后来用jdk1.7和JDK1.5试了一下,果然是真的不成,运行截图如下: 最后只能用axis1的客 阅读详情

相关推荐

Apache Axis 实战解析与应用

Apache AxisApache扩展实现)是Apache软件基金会的一个开放源代码项目,主要功能是开发和部署Web服务。Axis在Java领域里扮演了举足轻重的角色,特别是在Web服务的实现、发布和消费方面。Axis支持SOAP(Simple Object Access Protocol)协议,提供了一种简单但强大的机制来通过HTTP协议和其他传输协议发布、发现、调用Web服务。

weixin_42471823的博客 1107

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

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

Apache Axis了解

NULL 博文链接:https://cuics-100.iteye.com/blog/941258

使用Apache Axis实现Web服务

Apache Axis是提交给W3C的一种SOAP(Simple Object Access Protocol)实现,Axis在实现Java Web服务方面稳定可靠。许多公司在它们的产品中使用了Axis来支持Web服务,而且Axis还有一个非常活跃的用户区。Axis有两种版本,即Axis1.x和Axis2。Axis2最近刚刚推出,与其前身相比,Axis2对Axis1.x进行重新设计,并支持SOAP

carlwu的专栏 2534

Webserviceaxis【转】

一、web服务简介1. 概念web服务(web service)是一类可以从Internet上获取的服务的总称,它使用标准的XML消息接发系统,并且不受任何操作系统和编程语言的约束,为异构的和不兼容的系统间提供互操作的能力。web服务通过HTTP、SOAP、XML、WSDL、UDDI等标准协议提供了将异构的、松耦合的应用程序集成在一起的办法。当前大部分的web应用都是以人为中心,提供人与机器(应用...

weixin_30235225的博客 207

开发知识点-Apache Axis2框架

访问shell路径:http://192.168.0.104:8080/axis/…/shell.jsp。poc脚本写入shell。

aming小老弟 2185

WebService介绍(WebService基础知识、XFire、CXF(基于XFire和Celtix项目整合而来,与Spring融合好)、AXIS1AXIS2(有AXIS1转换而来,有Java)

1 WebSerice基础 2 XFire基础(2007年之后XFire发布1.2.6后停止开发,后续转为CXF项目) 3 CXF基础(基于XFire和Celtix项目整合而来,与Spring融合好) 4 AXIS1基础(Axis 1.4 Final 2006年后停止开发,转而AXIS2) 5 AXIS2基础(有AXIS1转换而来,有Java和C版) 1 WebSer

xiao190128的专栏 923

WebService介绍(WebService基础知识、XFire、CXF(基于XFire和Celtix项目整合而来,与Spring融合好)、AXIS1AXIS2(有AXIS1转换而来,有Java)...

1 WebSerice基础 2 XFire基础(2007年之后XFire发布1.2.6后停止开发,后续转为CXF项目) 3 CXF基础(基于XFire和Celtix项目整合而来,与Spring融合好) 4 AXIS1基础(Axis 1.4 Final 2006年后停止开发,转而AXIS2) 5 AXIS2基础(有AXIS1转换而来,有Java和C版) 1 WebSerice基础 ...

weixin_30650859的博客 346

WebService流行框架之Axis和CXF

 前言 今天主要讲解下WebService的两个流行的框架Axis和CXF。 正题 一、服务端发布WebService 在讲解之前,我们先来看一下这篇博客主要讲解的内容: 每一种框架都有自己的特点,有自己的侧重,但是他们的共同之处在于对发布W...

chisheyang0074的博客 166

Apache Axis用户指南(1)

本文是Apache Axis的用户指南的第一部分。笔者在学习的过程中,作为记录,简单的翻译了一下。笔者已经翻译了Apache Axis的安装及应用文档,也谈不上翻译,只是笔者在学习的过程中,将笔者认为重要的部分作为记录,并加以笔者实践的结果。建议在阅读本文之前先阅读Apache Axis安装指南。0.介绍SOAPSOAP是基于XML的通信协议和编码格式,它用于交互应用程序通信。现在的

zhouqixiang的专栏 4856

使用axis调用WebService,Java WebService调用工具类

Java 调用WebService工具类。导入即使用。

微枫Micromaple的博客 1万+

N5105软路由救星:PVE下iKuai频繁重启断流,更新这个内核补丁就稳了

本文深入解析N5105软路由在PVE环境下iKuai频繁重启断流的问题根源,并提供终极稳定方案——更新内核补丁。通过详细的微代码补丁安装指南和进阶调优技巧,帮助用户彻底解决稳定性问题,提升网络性能。适用于高负载场景下的长期稳定运行。

weixin_30457465的博客 400

使用Axis开发Web Service程序

一、Axis环境的安装  1、安装环境 J2SE SDK 1.4,Tomcat 5.0,eclipse 3.2。  2、到 http://xml.apache.org 网站下载Axis安装包。  3、将Axis相关包文件放在WEB-INF/lib目录下。  4、Axis可选的包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷贝到WEB

晨曦的专栏 914

Apache Axis开发WEB Service简要说明

1 介绍 本文并不是想介绍Web服务的原理、系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念、原理等知识。本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令人欢欣鼓舞的特征的开发人员。在此我们认为你已经具备了Java、XML等基础知识,如果你还有其他开发环境的经验例如VB、VC那是再好不过的了。 1.1 Web服务 虽然我们并不想详细讲述We...

xin 1003
上一篇: 主从表的Ajax应用开发举例(第三页)
下一篇: AXIS学习笔记(一)
dzqlhh
博客等级 码龄19年 1粉丝 7原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值