用axis2+Tomcat5.5+Eclipse3.2部署和访问Web服务

使用Axis2开发webservice服务端接口+axis开发的客户端调用 用AXIS2发布WebService的方法。axis2+web+tomcat1 阅读详情

一、环境准备

使用Axis来开发Web services 需要准备 web 服务器,Axis API。本文使用的Web container 是Tomcat5.5, Axis API 的版本为Axis2_ 1.1.1 。

1.1软件下载准备

Tomcat下载地址:http://tomcat.apache.org/download-55.cgi# 5.5.20

Axis标准包:

http://apache.justdn.org/ws/axis2/1_1_1/axis2- 1.1.1 -src.zip

Axis War包:

http://apache.justdn.org/ws/axis2/1_1_1/axis2.war

Axis Eclipse plug-in(代码生成工具和打包工具):

http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip

http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip

Eclipse+MyEclipse:可以到官方网站下载(本文为3.2+5.0GA)

1.2安装

1》.首先搭建开发环境,需要将下载到的Eclipse解压缩到一个目录。

2》.将下载到的Axis 的两个plug-in解压缩到Eclipse安装目录下的plug-in子目录。

3》.安装MyEclipse5.0GA。然后启动MyEclipse,并选择“File->New->Other”可以找到下面的这些Wizards,这些将是本文中用到的很重要的工具。

 

4》.下面开始搭建Web Services的部署环境。将下载的tomcat报解压缩到一个目录。完成web container 的安装。

5》.将axis2.war包拷贝到tomcat安装目录下的webapps目录中。

6》.启动Tomcat(windows 下为TOMCA_HOME/bin中的startup.bat;Linux,unix环境为startup.sh文件),打开浏览器输入并访问:http://ip:8080/axis2(或2http://localhost:8080/axis)来查看,如果能看到下面的页面则说明已经安装完成。

二、进入开发

2.1 建立要发布的WebService

1. 在Eclispse中添加一个用户库命名为axis2,将axis2/lib下的包均添加进来。
2.
建立一个JavaProject命名为AccountService,将axis2用户库加入到build path中。
3.
现在开始编写要发布的WebSevice,在src中建包account,建立AccountOper类如下:
package account;

public class AccountOper {
    private static int[] fund = {10000, 500, 700, 5800};
    public static int accountID = 0;//in {0,1,2}

    public boolean setAccountID( int id ) {
        if(id < 0 || id > fund.length)
            return false;
        this.accountID = id;
        return true;
    }
    
    public boolean checkInput(int money)
    {
        if (money > fund[accountID]) {
            return false;
        } else {
            return true;
        }
    }

    //deposit
    public int deposit(int money)
    {
       fund[accountID] = fund[accountID] + money;
       return fund[accountID];
    }

    //withdraw
    public int withdraw(int money) {
        if (checkInput(money)) {
            fund[accountID] = fund[accountID] - money;
        }
        return fund[accountID];

    }

    public int getAccount() {
        return fund[accountID];
    }
}

2.2 发布WebService

1. 在META-INF下建立services描述文件services.xml如下:
<service name="AccountService">
 <parameter name="ServiceClass"
          locked="false">account.AccountOper</parameter>
 <operation name="setAccountID">
  <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
 </operation>         
 <operation name="checkInput">
  <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
 </operation>
 <operation name="deposit">
  <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
 </operation>
 <operation name="withdraw">
  <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
 </operation>
 <operation name="getAccount">
  <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
 </operation>   
</service>

2.
打包要发布的Service,Eclipse中New --> File --> Other --> Axis2 wizards -->
Axis2 Services Archiver
,按照向导选择刚建立的类编译后的class文件和services.xml文件。

1》、选择class文件目录,注意,不是java源文件,而是WEB-INF/classes目录,

 

2》、连按两次下一步,选择service.xml文件,

 

3》、按下一步,输入service文件的保存路径和文件名,完成。


这里将保存路径设为D盘,文件名为AccountService.jar,按完成保存成功,然后修改后缀为aar(也可不修改),将其拷贝到Tomcat 5.5/webapps/axis2/WEB-INF/services目录下,重新打开http://localhost:8080/axis2/services/listService就会发现AccountService已经发布成功,现在就可以应用这个Web服务了。

2.3 测试

6. Eclipse中New --> File --> Other --> Axis2 wizards --> Axis2 Code Generator,按向导通过java source文件,即AccoutOper.class生成WSDL文件。这步其实可以省略,当webservice发布后可通过访问http://192.168.1.213:8080/axis2/services/AccountService?wsdl就可以得到wsdl文件,然后根据此URL就可以生成客户端代码,这里主要想演示一下用Axis2 Code Generator工具根据java source文件如何生成WSDL文件。

 

1》选择Generate a WSDL from a Java source file,按下一步

 

 2》、填入class文件的包及文件名,我这是account.AccountOper,然后按Add Folder增加AccountOper.class的所在目录路径,按Test Class Loading..按钮测试是否成功装载这个类文件,若未装载成功请检查包名、类名和路径是否正确。

3》、按下一步,这里的参数设置我们不用管它,用默认的就行了。

4》、选择wsdl文件的保存位置及确定wsdl文件的文件名AcountServices.wsdl,按完成,WSDL文件生成成功。

7、通过WSDL文件生成AccountServiceCallbackHandler.java和AccountServiceStub.java,可以重新建立Project,我在做的过程中为了方便仍利用刚才建立的Project.

1》、New --> File --> Other --> Axis2 wizards --> Axis2 Code Generator

 

2》、选择Generate Java source code from a WSDL file,按下一步

3》、按Browse选择wsdl文件,按下一步

4》、使用默认的配置,按下一步。

 
5
》、选择生成文件的存放路径,完成AccountServiceCallbackHandler.java和AccountServiceStub.java的生成。

6》、在工程目录按F5刷新,就可以看到刚生成的文件,但提示都有错误,这是因为包名不一样。

解决方法是将生成的两个文件直接移动到account包下,如图:


8.
编写服务测试程序AccountTest.java如下:
package account;

public class AccountTest {
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        String endpoint =  "http://localhost:8080/axis2/services/AccountService";
        AccountServiceStub stub = new AccountServiceStub(endpoint);

        AccountServiceStub.SetAccountID set = new AccountServiceStub.SetAccountID();
        set.setId( 2 );
        stub.setAccountID( set );
        
        AccountServiceStub.GetAccountResponse get = stub.getAccount();
        System.out.println( "Current: " + get.get_return() );
        
        AccountServiceStub.Deposit dep = new AccountServiceStub.Deposit();
        dep.setMoney( 120 );
        AccountServiceStub.DepositResponse depRes = stub.deposit( dep );
        System.out.println( "After Deposit 120: " + depRes.get_return() );

        AccountServiceStub.Withdraw draw = new AccountServiceStub.Withdraw();
        draw.setMoney( 50 );
        AccountServiceStub.WithdrawResponse drawRes = stub.withdraw( draw );
        System.out.println( "After Withdraw 50: " + drawRes.get_return() );
        
        AccountServiceStub.GetAccountResponse getLast = stub.getAccount();
        System.err.println( "At last: " + getLast.get_return() );
    }
}
运行结果如下:

测试成功

 

三、在局域网其他客户机调用

以下介绍在局域网客户端调用上面发布的AccountService。为了不受杀毒软件及防火墙的影响,测试时我们把杀毒软件及防火墙关闭。

1、新建一个web project

2、New --> File --> Other --> Axis2 wizards --> Axis2 Code Generator,按下一步

 

3、选择Generate Java source code from a WSDL file,按下一步

4、在文本框中填入http://192.168.1.213:8080/axis2/services/AccountService?wsdl,按下一步

 

5、这里都使用默认的设置,按下一步

 

6、选择输出文件的存放路径,我选择输出在工程的src目录下,按完成按钮,客户端代码生成完毕。

7、刷新一下项目,就可以看到刚生成的客户端文件了,AccountServiceStub.java和AccountServiceCallbackHandler.java,但都有错误,别急,这是生成的包名的问题,我们稍微改一下:把包名src.account改成account就行了。

 

8、写测试类,和在本机测试的一样。

package account;

public class AccountTest {
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        String endpoint =  "http://localhost:8080/axis2/services/AccountService";
        AccountServiceStub stub = new AccountServiceStub(endpoint);

        AccountServiceStub.SetAccountID set = new AccountServiceStub.SetAccountID();
        set.setId( 2 );
        stub.setAccountID( set );
        
        AccountServiceStub.GetAccountResponse get = stub.getAccount();
        System.out.println( "Current: " + get.get_return() );
        
        AccountServiceStub.Deposit dep = new AccountServiceStub.Deposit();
        dep.setMoney( 120 );
        AccountServiceStub.DepositResponse depRes = stub.deposit( dep );
        System.out.println( "After Deposit 120: " + depRes.get_return() );

        AccountServiceStub.Withdraw draw = new AccountServiceStub.Withdraw();
        draw.setMoney( 50 );
        AccountServiceStub.WithdrawResponse drawRes = stub.withdraw( draw );
        System.out.println( "After Withdraw 50: " + drawRes.get_return() );
        
        AccountServiceStub.GetAccountResponse getLast = stub.getAccount();
        System.err.println( "At last: " + getLast.get_return() );
    }
}
运行结果:

和在本机测试一样,调用成功!

 

 

 

官方文檔非常多及齊全, 若想進一步了解, 需要花更長的時間:
http://ws.apache.org/axis2/1_0/index.html

Axis2 的文檔及教學非常充足. 官方文檔如下連結:
http://ws.apache.org/axis2/1_0/index.html

Axis2 官方的安裝教學:
http://ws.apache.org/axis2/1_0/installationguide.html

Axis2 用戶指南:
http://ws.apache.org/axis2/1_0/userguide.html

Axis2 WEB Administration 介面的使用教學:
http://ws.apache.org/axis2/1_0/webadminguide.html

Axis2 的設定文檔:
http://ws.apache.org/axis2/1_0/axis2config.html

AXIOM (Axis Object Model) 教學:
http://ws.apache.org/axis2/1_0/OMTutorial.html

Axis2 Eclipse plugin 教學:
http://ws.apache.org/axis2/tools/1_0/eclipse/wsdl2java-plugin.html

在 Eclipse 下使用 Axis2 进行 WebServices 创建和发布 本文主要讲解如何在 Eclipse 下使用 Axis2 进行 WebServices 创建和发布,主要包括环境准备、创建 WebService和调用 WebService。 阅读详情

相关推荐

基于AXIS的web service项目环境搭建

一.Web服务Web服务是一种新型的Web应用程序。不同于其他Web应用程序,它是自适应、自我描述、模块化的应用程序,并可以跨越Web进行发布、定位以及调用。简单的Web服务可以提供例如天气预报或者航班信息的服务。一旦部署了Web服务,其他的应用程序就可以发现和调用所部署的服务。 二.AXIS项目AXIS是开发web service的基础框架,来自Apache开放源代码组织。AXI

yousuf007的专栏 4615

用axis2+Tomcat5.5+Eclipse3.2部署和访问Web服务(多图)

----------------------------------------------------------------------------------------------------------------------------------------序:写这篇文章前查阅了网上许多的资料,但很多资料都不完整,通过努力调试,重新整理了一下,另外加入了大量的实例图片,共享给大家

爱喝浓咖啡 4449

汽车底盘技术解析:从悬架调校到智能化,如何评价国产车底盘实力

汽车底盘作为决定车辆驾驶质感、安全性和耐久性的核心系统,其技术内涵远不止于悬架结构。从行驶系、转向系到制动系的协同工作,底盘调校是一门融合机械原理与工程实践的艺术。在电动化与智能化浪潮下,底盘技术正经历从被动适应到主动响应的变革,CDC可变阻尼减震器和空气悬架等技术的应用,让底盘具备了通过OTA升级实现性能优化的可能。国产汽车品牌如奇瑞、吉利等,通过平台化架构研发与调校经验积累,正推动底盘技术从“能用”向“好用”乃至“塑造独特驾驶风格”迈进。理解底盘技术,需超越简单的结构对比,关注其在实际路况中的滤震性、支

weixin_34413103的博客 387

Eclipse+tomcat+axis2进行web service部署

用Eclipse+axis2+tomcat进行web service部署 2016-12-07 目录  1 安装JDK  1.1 下载JDK  1.2 安装和配置JDK  1.3 验证2 安装Eclipse  2.1 下载Eclipse  2.2 安装3 安装Tomcat  3.1 下载Tomcat  3.2 安装及配置  3.3 验证4 安装axis2  4.1 下载axis2  4.2 ...

weixin_33963189的博客 359

特斯拉 Model 3解析(八)全面拆解特斯拉自动驾驶大脑:AP控制器硬核技术解析

算力极限:双FSD = 144 TOPS,专为AI推理优化。存储架构:LPDDR4 + NAND + NOR,保证高速/可靠启动。通信架构:以太网传视频,CAN传控制,TSN保障实时性。感知输入:多路摄像头 + 高速SerDes,满足全景感知。电源设计:功率模块+被动元件海洋,稳定性优先。功能安全:双芯片冗余 + GPS + 紧急呼叫,容错率极高。🎯 在我看来,特斯拉AP控制器就是一台“车载超算”,它在电源设计、存储架构和功能安全上远超一般新势力方案。

weixin_43199439的博客 1448

ARM芯片内部的高速公路:手把手教你用AMBA Designer配置NIC-400互连控制器

本文详细介绍了如何使用AMBA Designer工具配置ARM芯片中的NIC-400互连控制器,涵盖从基础拓扑构建到高级QoS设置的完整流程。通过实际案例演示,帮助开发者掌握AXI协议下的高效片上网络设计,提升SoC性能与能效比。

weixin_26750481的博客 315

Tomcat6 配置HTTPS SSL 发布Axis2 webservice(一)

1.首先使用java 自带的keytools生成我们所需要的密钥证书。   为了方便起见这里使用bat文件生成,关于keytools的具体使用大家可查看相关文档 set SERVER_DN="CN=127.0.0.1, OU=SPH, O=SPH, L=sh, S=sh, C=CN" set CLIENT_DN="CN=Client, OU=SPH, O=SPH, L=sh, S

oemoon的专栏 929

统信UOS上Qt5.12.8离线安装保姆级教程(避坑网络登录与GCC选择)

本文提供统信UOS系统下Qt5.12.8离线安装的完整教程,涵盖环境准备、安装步骤、常见问题解决及开发优化建议。特别针对无网络环境下的登录验证跳过、GCC版本匹配等关键问题提供解决方案,帮助开发者快速搭建稳定的Qt开发环境。

weixin_30666401的博客 463

WebService学习之旅(四)Apache Axis2的安装

一、Axis2简介 Axis2是目前使用较多的WebService引擎,它是Axis1.x的升级版本,不仅支持SOAP1.1和SOAP1.2,而且也提供了对REST风格WebService的支持。 Axis2较旧的版本是更有效率,更加模块化和更多的XML类型。它是经过精心设计,可以轻松添加模块,以提升现有的功能特征,例如安全性和可靠性等。 二、Axis2下载与目录结构介绍...

weixin_33889665的博客 280

STM32G0实战:手把手教你用国产GD25Q16 Flash存储传感器数据(附完整驱动)

本文详细介绍了如何使用国产GD25Q16 Flash芯片与STM32G0系列MCU实现传感器数据存储的完整方案。从SPI接口配置、驱动层实现到存储系统架构设计,提供了实战代码和优化策略,帮助开发者快速构建高性价比的物联网数据存储系统。

weixin_30733003的博客 107

效果炸裂_安装midscene_copw基于midscene操作电脑_基于视觉的软件测试执行_MIDSCENE的安装和使用---AI大模型应用探索0012

摘要:本文介绍了如何通过安装MidSceneJS来增强Copaw的屏幕操作能力。首先需要安装Node.js和npm,并配置淘宝镜像源加速安装。然后全局安装MidScene CLI工具(npm install @midscene/cli -g)。接着配置视觉大模型服务,通过设置环境变量指定模型API密钥、名称、基础URL和家族类型(如qwen3.5-27b),配置文件需存放在C:\Users\Administrator.copaw目录。安装成功后,MidScene已能成功识别并操作屏幕,使用效果良好。文中还提

添柴程序猿的专栏 644

(转)用axis2+Tomcat5.5+Eclipse3.2部署和访问Web服务

 来自:shaqguohttp://dl1.csdn.net/down3/20070618/18103909959.doc    

黄瓜和土豆的专栏 981

上机任务一:空气质量指数 (air quality index,AQI是定量描述空气质量状况的指数。为了更好地了解和人们身体健康息息相关的天气状况,本书模拟生成500条某地区天气数据,一行样本对应一天

调整后的R平方为0.4308,考虑了模型中的自由度,它略低于多重R平方,说明模型的解释能力可能有限。总的来说,新的模型相对于之前的模型在AIC值上更优,包含了最高温度(X2)和最低温度(X3)这两个重要的预测因子,并且对AQI的解释能力较好。在表中,Df表示自由度,Sum Sq表示总平方和,Mean Sq表示均方(总平方和除以自由度),F value表示F统计量,Pr(>F)表示对应的p值。在分析这些结果时,需要关注系数的显著性(p值),系数的方向(正向或负向影响),以及系数的大小(估计值)。

Mrrunsen的博客 724

java axis_java中使用axis1.4开发webService

一、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-INF目录下,生成客户端时候需...

weixin_39640767的博客 245

ASPICE学习笔记

ASPICE的全称是Automotive SPICE。

汽车电子软件领域知识分享 1355

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

axis 生成客户端client stub文件

一、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拷贝到WE...

awen7916的专栏 316

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

axis WebService

   一、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-...

腾飞FLY 116

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Webservice学习书籍

最近学习webservice,在网上收集了不少相关的资料,很多都是在优快云上用点数下载的,我整理放在 http://sharedisk.xunzai.com/ 这里,跟大家一起分享。   JE允许上传的文件不能超过10M,就找到了上面那个地方,发觉还不错,感兴趣的也可以注册个玩玩,最高能有5G的免费空间。   注册连接是 : http://u.xunzai.com/reg...

rush2012的专栏 1019

ServiceMix+Tomcat+Axis2+Eclipse开发Web服务

thinkingflying的专栏 5206
上一篇: 一个通用的泛型GenericHibernateDao
下一篇: 关于 DAO 接口设计的思考
janejava
博客等级 码龄19年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值