博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webservice的使用-axis1-01
阅读量:6295 次
发布时间:2019-06-22

本文共 2140 字,大约阅读时间需要 7 分钟。

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文件中添加要发布的服务,如果没有该文件在其他地方进行拷贝   

  
  
     
     <!--要发布的方法-->
    
 

      参数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,studentSystem.out.println(result);

 

 

 

 

 

 

  

 

转载于:https://www.cnblogs.com/lifeone/p/7220623.html

你可能感兴趣的文章
编程之基础:数据类型(二)
查看>>
倒排索引PForDelta压缩算法——基本假设和霍夫曼压缩同
查看>>
java基础--相等
查看>>
记一次网站服务器搬迁实录
查看>>
Sql server restore script(还原数据库正确的步骤)
查看>>
牛客网刷题汇总(一)附解析
查看>>
(转) Deep Learning in a Nutshell: Reinforcement Learning
查看>>
微信说中国人的国庆长假 境内游西湖外滩上榜
查看>>
VR/AR会是微信后马化腾进军的战场吗
查看>>
推荐系统的评分描述
查看>>
Junit测试中找不到junit.framework.testcase
查看>>
SAP HU02 to Unpack for HU, Need Transfer HU to Package Storage Type First.
查看>>
1.3. Getting Started Guides
查看>>
三十而立,立的是什么?(r11笔记第70天)
查看>>
Log4jdbc demo
查看>>
(13)[Xamarin.Android] 不同分辨率下的图片使用概论
查看>>
12.3、Libgdx的图像之截屏
查看>>
什么是PyTorch,为何要使用PyTorch
查看>>
对ESB概念的理解(转)
查看>>
Building for Production
查看>>