webservice的使用-axis1-01
1.搭建axis服务器
1.1 下载axis-bin-1_4.zip文件并解压
1.2 拷贝\axis-1_4\webapps目录下的axis到tomcat目录下的webapps目录下并启动
1.3 在浏览器中输入http://localhost:8080/axis/ 如果能进入到axis主页就表示是搭建成功

2.发布自己的应用到axis服务器(即时发布和定制发布)
2.1 即时发布(仅适用于单个java文件,且没有包和jar包,且需要有源码)(jws)
发布步骤:
1)编写单个java文件
public class HelloWS {
public String hello(String a,String b) {
return "response by server "+a +","+b
}
}
2)将HelloWS.java拷贝到tomcat下的webapps/axis目录下,并改名为HelloWS.jws,重启tomcat

3 )在浏览器中输入http://localhost:8080/axis/HelloWS.jws看到以下界面表示发布成功

4) 点击上图的Click to see the WSDL如果报以下错误,修改jdk的版本为1.6(本人测试,不支持1.8)

2.2 定制发布(WSDD)
2.2.1 带有包结构的class文件进行发布
1) 编写java代码并进行编译为为class文件
package com.beifeng.hadoop.webservice.server;
public class HelloWSDD { private int counter=0; public String hello(String name) {
counter++;
System.out.println("访问次数:"+counter);
return "欢迎访问axis服务器:"+name;
} public float add(float a,float b) {
counter++;
System.out.println("访问次数:"+counter);
return a+b;
}
}
2) 将编译后的class文件及包结构拷贝到tomcat\webapps\axis\WEB-INF\classes目录下

3)在axis\WEB-INF\server-config.wsdd文件中添加要发布的服务,如果没有该文件在其他地方进行拷贝
<!--要发布的服务名称 -->
<service name="HelloWSDD" provider="java:RPC">
<!--类名-->
<parameter name="className" value="com.beifeng.hadoop.webservice.server.HelloWSDD" />
<!--要发布的方法-->
<parameter name="allowedMethods" value="hello,add" />
<parameter name="scope" value="application"/>
</service>
参数scope的值:requet、session或application
request:Axis为每一个SOAP的请求产生一个服务对象,针对于请求(默认)
session:Axis为每一个调用webservice的客户端生成一个对象,针对于会话
application:在服务器内存中直接创建一个对象,每次请求直接返回
4)重启tomcat,在浏览器中输入http://location:8080,点击list即可看到如下页面

3. 客户端调用
3.1 调用jws即时发布的HelloWS.jws的hello方法
//服务地址
String url="http://localhost:8080/axis/HelloWS.jws"; //构建web service 服务
Service service=new Service(); //创建一个调用
Call call=(Call) service.createCall(); //设置调用的地址
call.setTargetEndpointAddress(url); //设置要调用的方法
call.setOperationName(new QName(url, "hello")); //执行该调用并传递参数
String result=(String) call.invoke(new Object[]{"teacher","student"}); //返回结果:response by server teacher,student
System.out.println(result);
webservice的使用-axis1-01的更多相关文章
- 根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用(转)
根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用 axis1.4下载地址 1.到www.apache.org上去下载axis-bin-1_4.zip,如要关联源代 ...
- java webservices 以Axis1.4方式 调用sap webservice接口.
1. 首先需要下载Axis1.4 jar包,这个必应搜索大把,下载下来后把jar包加入eclipse工程项目路径中即可. 2. 下载mail.jar和activation.jar 俩个包.下载地址:h ...
- Webservice接口和Http接口
WebService又是一种高级应用,与之前学习的Struts.Spring.Hibernate等框架不同.WebService是面向服务的架构(SOA),看起来像是比SSH框架要大.那么它到底是做什 ...
- webservice basics
=====================Quote starts================== JAX-WS (JavaTM API for XML-Based Web Services)规范 ...
- 《转》CXF WebService 开发文档-目录索引
CXF WebService 开发文档-目录索引 上次介绍了Axis的WebService,现在我们来看看CXF是怎么完成WebService的. Axis1 WebService 在线博文: htt ...
- Tomcat6.0+Jdk1.5+Axis1.3搭建java webservice环境,并使用c#调用该服务。
java jdk:jdk1.5.0_17 下载网址:http://pan.baidu.com/s/1gdmAkgV tomcat 6.0 下载地址:http://tomcat.apache.org/d ...
- spring WebServiceTemplate 调用 axis1.4 发布的webservice
前言: 最近在开发中需要调用对方的 webservice服务,按照现有的技术,本应该是一件很简单的事情,只需要拿到wsdl文件,生成客户端代码即可,但是,对方的webservice服务是06年用ax ...
- MyEclipse 搭建webservice (axis1.4)
0 引言 以前都是做javaweb的 最近因工作需要 接触了webservice 关于什么事webservice,与web的区别,soap,跟http的区别,asix1和asix2的区别,为什么不用 ...
- axis1客户端调用webservice的通用代码
1.axis1 作为web service 客户端时,调用web service 服务端的通用代码 String url = "http://www.webxml.com.cn/webser ...
- 使用URLConnection调用axis1.4开发的webservice
写在前面: 调用webservice的方式有很多:1.直接在客户端使用工具生成客户端代码,将代码拷进项目中调用即可:2.使用对应的webservice框架来进行调用,比如如果我们我的服务端开发用的是a ...
随机推荐
- linux查看日志中特定字符串以及前后信息内容命令
在项目实施过程中,我们经常会查看日志,更是经常会根据某些特地字符串去查找日志内容. 下面就是日志查找命令: 1.查询字符串命令: cat fileName|grep '要查找的字符串' 实例:cat ...
- 北京邀请赛 B. Beautiful Garden
题意:给你坐标和n个点,求最少移动的点使得n个点成等差数列 思路:既然要成等差数列,那么最起码有两个点是不动的,然后枚举这两个点中间的点的个数,近期水的要死,看了队友的代码做的 #include &l ...
- js 可迭代对象
作用:可以简化使用循环语句初始化一个变量记录迭代位置的操作 function createIterator(iterms) { let i = 0 return { next() { let done ...
- Java面试宝典(4)Java基础部分
71.说出一些常用的类,包,接口,请各举5个 要让人家感觉你对java ee开发很熟,所以,不能仅仅只列core java中的那些东西,要多列你在做ssh项目中涉及的那些东西.就写你最近写的那些程序中 ...
- js常用扩展方法
在日常的开发过程中,经常会碰到javaScript原生对象方法不够用的情况,所以经常会对javaScript原生方法进行扩展.下面就是在实际工作时,经常使用的一些方法,做一下记录,有需要的可以拿去. ...
- for循环(C语言型)流程
- linux c 链接详解1-多目标文件链接
1. 多目标文件的链接 摘自:linux c编程一站式学习 http://learn.akae.cn/media/index.html 可以学会在linux下将多个c语言文件一起编译. 现在我们把例 ...
- Nginx实现rewrite重写
目录 Rewrite基本概述 Rewrite标记Flag Rewrite规则实践 Rewrite场景示例 Rewrite规则补充 rewrite优先级实战 Rewrite基本概述 什么是rewrite ...
- 数据库索引原理,及MySQL索引类型(转)
在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username ) NOT N ...
- 离线安装gcc_rpm(centos下安装gcc的方法之一)
.解压gcc_rpm.tar.gz (我的CSDN账号下载过) tar -zxvf gcc_rpm.tar.gz .解压完进入文件夹,执行以下命令,挨个执行(如果报依赖错误,就加上"--fo ...