手把手教你用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 推荐前往阅读 这一篇文章主要介绍一些经常使用插件的使用和配置. 下面是我个人安装的一些插件.大家能够依据须要自 ...
随机推荐
- Boot loader: Grub进阶[转]
Boot loader: Grub进阶 本文记录grub的一些进阶配置 关於核心功能当中的 vga 配置 事实上,你的 tty1~tty6 除了 80x24 的解析度外,还能够有其他解析度的支持喔!但 ...
- Event List 2
The list of events can be found in src/switch_event.c in a char array called EVENT_NAMES and is summ ...
- 【转】关于.net framework4.0以及4.5安装失败,“安装时发生严重错误”……
也不知道管不管用,先记着 今天忽然想装一个vs2010,然后装了好几遍,每次都在安装.net4.0的时候失败.好吧,我自己手动装行么.于是手动去装.net 4.0. 结果在还是返回"安装时发 ...
- Sql日期时间格式转换(转)
原文出自:http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599690.html sql server2000中使用convert来取得dat ...
- 如何清除某条SQL的执行计划
如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法(除非alter system flush shared_pool) ...
- [2014.01.27]WFsoft.wfWebCtrl.wfUrlPager 3.2
wfUrlPager多功能.Net翻页组件,使用简单,功能强大. 提供"首页","上一页","下一页","末页",&qu ...
- 四、Spring——Spring MVC
Spring MVC 1.Spring MVC概述 Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet负责截获请求并将其分配给响应的处理器处 ...
- ZooKeeper程序员指南(转)
译自http://zookeeper.apache.org/doc/trunk/zookeeperProgrammers.html 1 简介 本文是为想要创建使用ZooKeeper协调服务优势的分布式 ...
- js传递参数中包含+号时的处理方法
encodeURI(url).replace(/\+/g, '%2B') 例子: $scope.getAnesthesiawaystatistical = function (annual, anes ...
- java语言实现堆排序
package secondChapter; import java.util.Random; public class HeapSort { private static int AHeapSize ...