手把手教你用axis1.4搭建webservice(转)
1、先下载axis jar包:axis-bin-1_4.zip。下载地址: http://ws.Apache.org/axis/。
当然这个包其实是不全面的,像activation.jar之类的,完全的Lib会在附件里提供。
2、解压好后,将webapps目录下的axis拷贝到tomcat_home的webapps下面。
3、在myeclipse中新建一个web项目,取名叫testWebservice.并新建一个包名叫webservice.axis.wsdd,
再新建一个class名叫:HelloWorldWSDD。
HelloWorldWSDD源代码如下:
- package webservice.axis.wsdd;
- public class CopyOfHelloWorldWSDD {
- private int requestCount=0;
- public String hello(String cardNo){
- requestCount++;
- System.out.println("requestCount="+requestCount);
- System.out.println("Received:"+cardNo);
- return "Hello"+cardNo;
- }
- public float add(float a,float b){
- requestCount++;
- String result="a="+a+",b"+b;
- System.out.println("requestCount"+requestCount);
- System.out.println("Received:"+result);
- return a+b;
- }
- }
4、将tomcat_home\webapps\axis\WEB-INF\lib下面所有的jar包拷贝到项目中的Lib中。
5、先部署一下web项目,再运行tomcat,运行http://localhost:8080/axis调试下是否安装成功。然后将tomcat_home\webapps\axis\WEB-INF\lib所有的jar包同时拷贝到tomcat_home\lib下面。此时我们的webservice还不会出现在调试列表里,因为还有很多配置工作没有做。
6、下面将tomcat_home\webapps\testWebservice\WEB-INF\classes\下的webservice文件夹复制到tomcat_home\webapps\axis\WEB-INF\classes下面。这步的目的就是以后客户端访问axis时能看见我们的websevice.
7、在tomcat_home\webapps\axis\WEB-INF下面文件deploy.wsdd,在里面输入:
- <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <service name="HelloWorldWSDD" provider="java:RPC">
- <parameter name="className" value="webservice.axis.wsdd.HelloWorldWSDD" />
- <parameter name="allowedMethods" value="*" />
- <parameter name="scope" value="request" />
- </service>
- </deployment>
8、运行CMD,进入目录到tomcat_home\webapps\axis\WEB-INF\,输入如下命令:
- java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
注意:运行此步时要保证tomcat是运行着的,否则会出现connection refuesed的错误。如果运行成功,会提示done processing.而且会生成一个文件server-config.wsdd。
9、此时已经快完成了。可以在浏览器里输入http://localhost:8080/axis/services。看看有没有新增加一个叫HelloWorldWSDD的webservice.如果有,那么就是成功啦。
其他简单测试方法:
- 1、在浏览器输入http://localhost:8080/axis/services/HelloWorldWSDD
- 2、在浏览器输入http://localhost:8080/axis/servlet/AxisServlet
- 2者都可以用来简单测试webservice是否处于可用状态。
10、编写客户端进行测试。在同样的包下建一个class叫Client
客户端的核心就是引用url。
源代码如下:
- package webservice.axis.wsdd;
- import javax.xml.namespace.QName;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- public class CopyOfClient {
- public static void main(String args[]){
- try{
- String serviceurl="http://localhost:8080/axis/services/HelloWorldWSDD";
- Service service=new Service();
- Call call=(Call)service.createCall();
- call.setTargetEndpointAddress(serviceurl);
- call.setOperationName(new QName(serviceurl,"hello"));
- String result=(String)call.invoke(new Object[]{"123456"});
- call.setOperationName(new QName(serviceurl,"add"));
- Float returnValue=(Float)call.invoke(new Object[]{new Float(3.2),new Float(2.8)});
- System.out.println("float return value is:"+returnValue);
- if(result!=null){
- System.out.println("result="+result);
- }else{
- System.out.println("result is null");
- }
- }catch(Exception ex){
- ex.printStackTrace();
- }
- }
- }
运行结果是:float return value is:6
result is Hello123456,
下面对这两句重要的话进行解释:
- call.setOperationName(new QName(serviceurl,"hello"));
- String result=(String)call.invoke(new Object[]{"123456"});
1、QName里面接的hello是指方法名。
2、invoke里面接的123456是指方法的参数。
参考资料:
2、新浪上的:http://blog.sina.com.cn/s/blog_4b9b442c0100rd87.html
3、ITEYE上的:http://hua04104.iteye.com/blog/850367
4、http://blog.sina.com.cn/s/blog_6307f1940100ohyh.html
手把手教你用axis1.4搭建webservice(转)的更多相关文章
- 史上最全最详细的环境搭建教程,行百里者手把手教你在windows下搭建Anaconda+pycharm+库文件(TensorFlow,numpy)环境搭建
我是在搭建TensorFlow开发环境的道路上走了很多弯路 掉了很多头发,为了让广大同学们不在受苦受累 下面我将手把手教你学习如特快速搭建python环境 快速导入numpy,PIL,pillow,等 ...
- 手把手教你在Windows下搭建React Native Android开发环境
最近看到React Native好像好厉害的样子,好奇心驱使之下体验了一下并将在Window下搭建React Natvie Android环境的步骤记录下来,并有需要的朋友参考.(我都是参考官方文档的 ...
- 手把手教你在Windows端搭建Redmine项目管理软件
1.Redmine介绍 Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的 ...
- 手把手教你用Eclipse+TestNG搭建接口自动化测试框架
转载于:http://qa.blog.163.com/blog/static/190147002201510275306185/ 把群博里关于接口自动化的文章都看了一遍,都是关于测试过程中遇到的问题及 ...
- 手把手教你如何用eclipse搭建前端开发环境
3.创建静态web工程 打开eclipse,选择file,new project 或者 new other...,选择web项中的static web project ,next. 输入你的项目名,如 ...
- 手把手教你学node之搭建node.js开发环境
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...
- 手把手教你用 Spring Boot搭建一个在线文件预览系统!支持ppt、doc等多种类型文件预览
昨晚搭建环境都花了好一会时间,主要在浪费在了安装 openoffice 这个依赖环境上(Mac 需要手动安装). 然后,又一步一步功能演示,记录,调试项目,并且简单研究了一下核心代码之后才把这篇文章写 ...
- 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)
前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...
- 手把手教你在openshift上搭建wordpress博客(二)
相同公布于:http://www.longgaming.com/archives/128 推荐前往阅读 这一篇文章主要介绍一些经常使用插件的使用和配置. 下面是我个人安装的一些插件.大家能够依据须要自 ...
随机推荐
- urllib2.open(req).read() 报403的错误:怎么办?
http://www.douban.com/group/topic/18095751/ heads = {'Accept':'text/html,application/xhtml+xml,appli ...
- c#检测端口是否被占用
当我们要创建一个Tcp/Ip Server connection ,我们需要一个范围在1000到65535之间的端口 . 但是本机一个端口只能一个程序监听,所以我们进行本地监听的时候需要检测端口是否被 ...
- [solr] - Facet
Solr facet使用于分类统计,是最好的工具.下面例子使用facet将可模拟查询搜索出租房信息. 1.在schema.xml中的内容如下: <?xml version="1.0&q ...
- 3D数学 ---- 矩阵和线性变换[转载]
http://blog.sina.com.cn/s/blog_536e0eaa0100jn7c.html 一般来说,方阵能描述任意线性变换.线性变换保留了直线和平行线,但原点没有移动.线性变换保留直线 ...
- c#数据类型之值类型和引用类型
C#数据类型分隔为值类型和引用类型.而所用数据类型都继承自Object. 1. 值类型继承自System.ValueType,引用类型继承自System.Object.ValueType也直接继承自O ...
- MyBatis Sql语句中的转义字符
1.在xml的sql语句中,不能直接用大于号.小于号要用转义字符 如果用小于号会报错误如下: org.apache.ibatis.builder.BuilderException: Error cre ...
- (medium)LeetCode 278.First Bad Version
You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...
- 12. Binary Tree Postorder Traversal && Binary Tree Preorder Traversal
详见:剑指 Offer 题目汇总索引:第6题 Binary Tree Postorder Traversal Given a binary tree, return the po ...
- 慕课网-安卓工程师初养成-5-4 使用 Eclipse 调试程序
来源:http://www.imooc.com/video/1627 IDE断点调试功能 比如 之前的程序,写错了,变成如下 package com.imooc; import java.util.S ...
- [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装
一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 ...