【转】使用Axis简单快速创建Webservice

  一.准备工作:

  1.  安装Axis。去官方网站http://ws.apache.org/axis/下载axis包,然后解压到任何一个目录。本例使用的是axis-bin-1_4.tar.gz ,解压到E:\axis-bin-1_4\axis-1_4。

  2.  开发环境准备。本例使用MyEclipse6.0 ,web server使用tomcat6。

 

  二.创建Web工程:

  1. MyEclipse中新建web工程,名称为TestCustomAxis。工程目录为:D:\JavaProject\TestCustomAxis。

  2. 引入axis包: 把axis目录下的E:\axis-bin-1_4\axis-1_4 \lib\下的所有jar包拷贝到工程下面的WebRoot\WEB-INF\lib下,MyEclipse会自动添加到引用库(Referenced Libraries):

 

  三.写接口和类代码:

  1.这里我想顺便测试一下Axis是否支持对复杂对象的串行化,于是自定义一个wsResult类(注意这个类一定要是标准写法,属性有get,set方法),代码如下:

  package com.ckp;

  public class wsResult {

  private int errorCode;

  private String errorString;

  private String resultVal;

  public wsResult(){

  this.errorCode = 0;

  this.errorString = "";

  this.resultVal = "";

  }

  public int getErrorCode() {

  return errorCode;

  }

  public void setErrorCode(int errorCode) {

  this.errorCode = errorCode;

  }

  public String getErrorString() {

  return errorString;

  }

  public void setErrorString(String errorString) {

  this.errorString = errorString;

  }

  public String getResultVal() {

  return resultVal;

  }

  public void setResultVal(String resultVal) {

  this.resultVal = resultVal;

  }

  }

 

  2.定义接口SayHelloService,所属包是com.ckp:

  package com.ckp;

  public interface SayHelloService {

  public String sayHelloMr(String name);

  public wsResult sayHelloMiss(String name);

  }

 

  3.创建实现类SayHelloImpl,实现接口SayHelloService:

  package com.ckp;

  public class SayHelloImpl implements SayHelloService{

  public String sayHelloMr(String name){

  return "Hello you,,,Mr."+name;

  }

  public wsResult sayHelloMiss(String name){

  wsResult retObj = new wsResult();

  retObj.setResultVal("Hello,Miss"+name);

  return retObj;

  }

  }

 

  工程结构如下图:

 

  四.配置Axis:

  1.修改web.xml文件,没什么特殊要求的话,可以直接把axis压缩包(E:\axis-bin-1_4\axis-1_4\webapps\axis\WEB-INF\)里的web.xml拷贝过来覆盖工程的web.xml。

  2.书写deploy.wsdd,这是关键步骤。在任意位置创建文件deploy.wsdd(比如创建到E:\)。内容如下,具体配置见注释文字:

  <deployment

  xmlns="http://xml.apache.org/axis/wsdd/"

  xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

  <!-- Services from TestAxisService WSDL service -->

  <service name="TestAxisService" provider="java:RPC" style="wrapped" use="literal">   <!-- 服务名称,自己定义 -->

  <parameter name="wsdlTargetNamespace" value="http://ckp.com"/>                 <!-- 将显示在wsdl上的命名空间 ,自己定义-->

  <parameter name="wsdlServiceElement" value="ckpService"/>                      <!-- 将显示在wsdl中wsdl:service节点的 name属性, 自己定义-->

  <parameter name="schemaQualified" value="http://ckp.com"/>                  <!-- 自己定义-->

  <parameter name="wsdlServicePort" value="testCustomAxis"/>                  <!-- 将显示在wsdl中wsdl:port节点的 name属性, 自己定义 -->

  <parameter name="className" value="com.ckp.SayHelloImpl"/>                  <!-- 实现类名,要带上包名 -->

  <parameter name="wsdlPortType" value="SayHelloService"/>                       <!-- 接口名 -->

  <parameter name="typeMappingVersion" value="1.2"/>

  <!-- 下面就是对方法的描述了,要写对方法的名字,返回值类型和参数的名字和类型 -->

  <operation name="sayHelloMr" qname="operNS:sayHelloMr" xmlns:operNS="http://ckp.com" returnQName="retNS:out" xmlns:retNS="http://ckp.com" returnType="rtns:string" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" >

  <parameter qname="pns:name" xmlns:pns="http://ckp.com" type="tns:string" xmlns:tns="http://www.w3.org/2001/XMLSchema"/>

  </operation>

  <operation name="sayHelloMiss" qname="operNS:sayHelloMiss" xmlns:operNS="http://ckp.com" returnQName="retNS:out" xmlns:retNS="http://ckp.com" returnType="rtns:wsResult" xmlns:rtns="http://ckp.com" soapAction="" >

  <parameter qname="pns:name" xmlns:pns="http://ckp.com" type="tns:string" xmlns:tns="http://www.w3.org/2001/XMLSchema"/>

  </operation>

  <parameter name="allowedMethods" value="sayHelloMr sayHelloMiss"/> <!-- value里面用空格隔开方法名 -->

  <!-- 串行化的关键就在下面这里了,对自定义类型wsResult的描述。。。注意type属性里要带上包名 -->

  <typeMapping

  xmlns:ns="http://ckp.com"

  qname="ns:wsResult"

  type="java:com.ckp.wsResult"

  serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"

  deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"

  encodingStyle=""

  />

  </service>

  </deployment>

  3.把web工程部署到tomcat,启动tomcat。

  4.生成server-config.wsdd文件,步骤如下:

  1)新建makeWsdd.bat,内容如下

  set Axis_Lib=E:\ axis-bin-1_4\axis-1_4\lib

  set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%

  set Axis_Servlet=http://localhost:8080/TestCustomAxis/services/AdminService

  %Java_Cmd% org.apache.axis.client.AdminClient -l %Axis_Servlet% E: \deploy.wsdd

  写对axis包的路径和刚才手写的deploy.wsdd路径,以及webserver服务地址。

  2)命令行下,执行makeWsdd.bat:(注意此步骤进行时tomcat必需是启动状态):

  执行成功会显示如下信息:

  在apache-tomcat-6.0.14\webapps\TestCustomAxis\WEB-INF\下也会出现server-config.wsdd文件。

  5.重启tomcat。

  五.测试Webservice:

  1.先测试wsdl,浏览器输入:http://localhost:8080/TestCustomAxis/services:

  点击TestAxisService的wsdl,查看wsdl文件,可以看到,自定义类型wsResult的串行化也成功了:

  2.测试服务是否正确执行:我们用Myeclipse自带的测试工具来测试:

  1)打开Myeclipse里的Web Services Explorer:

  2)弹出如下界面,选择右上角的WSDL Page :

  3)显示如下,地址栏输入我们的wsdl地址,点击 Go:

  4)显示如下,可以点击方法1或者方法2进入测试某个方法:

  5)点击方法1,进入如下界面,随便输入参数”奥巴马”,点击Go,下放显示结果Hello you,,,Mr.奥巴马 。

  6)点击方法2,进入如下界面,随便输入参数” 布兰妮”,点击Go,下放显示结果,可以看到自定义的wsResult类正确被串行化的结果:

  总结:与Xfire相比,用Axis写Webservice稍微复杂些,不过还是很简单地。建工程,写接口,写类,拷贝一个web.xml,写deploy.wsdd ,生成server-config.wsdd,万事ok!

  弄明白如何手工写wsdd文件的好处是,灵活性比较大,如果以后想对Webservice修改或者添加方法。直接修改server-config.wsdd文件即可(server-config.wsdd文件里有一段内容,与deploy.wsdd配置内容一样,照着修改即可)。

使用MyEclipse和Axis2构建WebService接口 本文还有配套的精品资源,点击获取 简介:本教程旨在指导开发者利用MyEclipse集成开发环境和Axis2 Web服务引擎,通过图形化界面快速创建、配置并发布WebService接口。学习内容包括WebService基础知识、Axis2工具使用、myeclipse与Axis2的集成操作,以及WebService的创建、部署和测试流程。掌握这些技术可以使得跨平台应用程序间的通... 阅读详情

相关推荐

AXIS所需完整JAR包

AXIS所需完整JAR包,包含axis.jar、axis-ant.jar、asm.jar、activation.jar、asm-attrs.jar、commons-discovery-0.2.jar 等JAR包

axis 开发webservice

摘要:本节主要用于介绍使用axis开发webservice,包括服务端的创建、webservice的部署、客户端的调用。 preparation: 说明:相关的可能要了解SOAP(简单对象访问协议)、WSDL(web服务描述语言)、XML(可扩展标记语言)、axis(阿帕奇可扩展交互系统)等相关知识。 1.下载axis的jar包,请到apache官网或者在百度自行下载,然后导入jar包,不...

weixin_30788731的博客 224

Axis 自动生成WebService

NULL 博文链接:https://duanfei.iteye.com/blog/847767

Axis自动生成webservice代码

有个简单快捷的生成webservice代码的方式,不含任何复杂步骤 1、首先现在axit这个jar包,然后解压, 2、在解压的axis目录中将页面生成的xxxx.wsdl文件放入根目录,如图所示 kpxtService.wsdl来自于:wsdl的地址,也就是webservice的地址,类似于http://11.11.1.1:8001/kpxtService?wsdl,放入浏览器地址栏中,...

MoRan_Lei的博客 800

最实用的axis调用webService接口所需的jar包和案例

在eclipse中先用代理的方式获取实例然后在直接调用,压缩包中包括axis调用webService接口所需的jar包和案例,包括java代码部分和jar部分

利用AXIS调用webservice所需JAR包

利用AXIS,通过wsdl的url直接调用webservice接口时所需要的jar包,经测试可直接使用

axis开发webservice

摘要:本节主要用于介绍使用axis开发webservice,包括服务端的创建、webservice的部署、客户端的调用。preparation:说明:相关的可能要了解SOAP(简单对象访问协议)、WSDL(web服务描述语言)、XML(可扩展标记语言)、axis(阿帕奇可扩展交互系统)等相关知识。1.下载axis的jar包,请到apache官网或者在百度自行下载,然后导入ja...

weixin_33971130的博客 323

从零开始:用YOLOv8-Pose实现实时人体姿态检测(附完整代码)

本文提供了一份从零开始的完整实战指南,详细介绍了如何使用YOLOv8-Pose构建实时人体姿态检测系统。内容涵盖环境搭建、数据准备、模型训练与调优,以及高性能部署和进阶应用开发,并附有可直接运行的代码示例,帮助开发者快速掌握Pose Estimation技术并将其应用于实际项目。

h6i7j8的博客 621

使用Axis创建Web Service服务

先简短的说一下Web Service的概念,简略的总结一下:所谓Web Service就是客户端以标准的SOAP消息将服务请求发给服务提供者,不论服务提供者用什么样的技术,Java、EJB、或者.NET执行相应的程序得到结果,然后将结果以SOAP消息返回给服务请求者。      下面以Axis为例,创建一个简单的Web Service。首先到http://ws.apache.org/axis

打工仔的程序人生 1049

通达信主力检测利器

主力轨迹:100*EMA(EMA(MTM,N1),N1)/EMA(EMA(ABS(MTM),N1),N1),COLORWHITE;主力拉高:IF(VAR51<REF(VAR51,1),VAR51,0),COLORYELLOW,NODRAW;洗盘:IF(VAR5<REF(VAR5,1),VAR5,0),COLOR000079,NODRAW;主力进场:IF(VAR5>REF(VAR5,1),VAR5,0),COLORRED,NODRAW;MAZL:MA(主力轨迹,N2),COLORYELLOW;

zhibiaogong的博客 7464

STM32CubeIDE串口打印浮点数踩坑实录:5分钟搞定printf输出小数(附完整配置截图)

本文针对STM32CubeIDE中串口无法打印浮点数的常见问题,提供了详细的解决方案。核心在于通过添加“-u _printf_float”链接器参数,启用标准库的浮点数格式化支持。文章附有完整的配置截图和步骤,并提供了系统性的排查清单,帮助开发者快速解决printf输出小数的问题。

weixin_29163797的博客 344

Axis2教程 命令行发布,java2wsdl,wsdl2java

Axis2 WebService 实现webservice的开源框架有很多,axis是比较常用的一种,它能让你在tomcat上方便的发布webservice,它能帮助你把代码转化成wsdl文件,或者把wsdl文件转化成java代码,下面对axis2作详细说明,我会侧重讲cmd命令行发布和转化,因为最新版axis2的插件和多数eclipse版本不兼容。 一....

weixin_30478619的博客 83

WPS Office 2026免费安装指南:AI办公与安全使用全解析

办公软件作为数字化办公的核心工具,其基本原理是通过文档处理、数据计算和演示展示等功能模块满足用户日常办公需求。随着人工智能技术的发展,现代办公软件逐步集成AI能力,通过自然语言处理和数据分析算法提升工作效率。在技术价值层面,优秀的办公软件不仅需要保持格式兼容性和跨平台同步能力,更要注重用户数据安全防护。从应用场景来看,无论是个人文档编辑、企业报表分析还是团队协作演示,办公软件都发挥着关键作用。WPS Office 2026作为国产办公软件代表,深度融合AI助手功能,支持智能写作和数据分析,同时通过官方免费策

weixin_30599769的博客 729

使用Axis2实现WebService的发布和调用

一、Axis2简介: Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java调用这个WebService。 二、A

无羁之风的专栏 2万+

Win10 Rational Rose 安装教程

在此教程中我们需要四个文件,点此下载[提取码:ig33] 其中第一个为2007的安装包,第二个为破解文件 前言 很多小伙伴反应说会出现几天后就到期的问题,包括我也出现了该问题,如果你已在其他地方安装好了文件且破解成功,且但几天后到期,如果可以使用更改时间的方式打开,那么可以跳过接下来的教程,直接看第三节,我们采用批处理的形式一键完成从修改时间到打开最后改回来的方法解决此问题 一、安装软件 解压缩两个安装包,进入 Rational Rose文件夹 选择setup.exe开始安装 按照图示依次点击

CoderJiang 2万+

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

用Java 开发 WebService Axis简单实例

  用Java 开发 WebService Axis简单实例 在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居其上.用Eclipse开发,一开始就会想到xfire,它是集成与Eclipse的.所以开发起来非常方便,现在我们来看看axis的开发是怎么样的? 看完本文后,你可以相互比较一下xfire与它的差别. 首先,

Joine 梦想着超越 2万+

24、汽车黑客技术全解析:诊断代码、车库创建与系统攻防

本文深入探讨了汽车黑客技术的核心内容,包括诊断代码模式与参数ID、创建开放车库社区、汽车系统相关技术、硬件与软件工具、攻击与防御手段,以及车辆通信与网络安全。无论你是汽车安全研究人员、爱好者还是开发者,都能从中获取全面的技术解析与实践指南。

Apple的专栏 228

小白轻松使用axis2构建webservice

引言: 使用axis2是来实现webservice接口是比较常见的,就我来说,如果要学一个首次接触东西,简单了解相关基础概念后,就希望自己能够简单快速的实现一个例子,在学习一门开发语言的时候,一个helloWorld例子能够快速的让你入坑,今天也来写一个小白快速入坑的helloWorld。 实现思路 下载好相关jar包; 创建web工程,给web工程的lib引入这些jar包; 书写接口实现类; 创建和配置service.xml文件,配置web.xml; 编写测试类 具体实现 获取jar包

编程界明世隐的博客 4330

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Idea发布Axis2服务端、创建WebService客户端和spring整合Axis2框架发布服务?

一、使用默认的WEBSERVICE服务 1 新建项目 2 选择 java-&gt;Java EE(由J2EE 8改为J2EE 7的版本,解决创建WEBSERVICE项目无WEB.XML的问题) 3 创建WEBSERVICE服务端 4 项目结构如下 5 生成wsdl文件 6 修改服务访问地址 7 生成WSDL文件格式如下 8 选择项目鼠标右键-&gt;open...

qq_42246139的博客 6060

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

实战Webservice (axis)

实战Webservice    

Spring 的专栏 6276

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

使用axis在项目中开发WebService服务

 最近有个需求,要在现有的WEB服务器上提供一个WebService服务,找资料后确定有两种方法可行,一种是用axis,另一种是利用xfire,由于之前有同事用axis做过,并且比较简单,所以确定用axis进行开发.下面我就把用axis开发的过程简单的记录下来:第一步:下载相关的jar包,axis要用到的jar包有:axis.jar,activation.jar,commons-discove

yangkele的专栏 972

webservice-之使用axis+spring开发

一、环境配置 :在 eclipse 中配置引入相应的 Spring 框架( core/Remoting/Web )、 axis 包。   二、代码开发 1、  在 MyEclipse 中建立一个新的 J2EE 的 Web Project, 新建 java 包 test 。 2、  接口文件 HelloWorldRemote.java package test; //Sp

thinker28754的专栏 8444

使用axis1.4生成webservice的客户端代码

最近发现了一个很好用的工具,可以根据WSDL文件来生成webservice客户端代码,省去了我们自己手动开发webservice客户端的麻烦,简单好用,用法如下:1、下载axis1.4,解压; 2、在axis-1_4目录下新建wsdl2java-client.bat(.bat批处理文件,可任意命名)文件,增加内容如下:set Axis_Lib=.\lib set Java_Cmd=java -Dj

lmb55的专栏 1万+
上一篇: 【转】在 WebSphere Application Server V6 中配置和使用 Web Service 缓存
下一篇: 【转】Attachment support is disabled解决方案
iteye_821
博客等级 码龄8年 0粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值