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的更多相关文章

  1. 根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用(转)

    根据wsdl的url,使用axis1.4生成客户端,并且对webservice进行调用 axis1.4下载地址 1.到www.apache.org上去下载axis-bin-1_4.zip,如要关联源代 ...

  2. java webservices 以Axis1.4方式 调用sap webservice接口.

    1. 首先需要下载Axis1.4 jar包,这个必应搜索大把,下载下来后把jar包加入eclipse工程项目路径中即可. 2. 下载mail.jar和activation.jar 俩个包.下载地址:h ...

  3. Webservice接口和Http接口

    WebService又是一种高级应用,与之前学习的Struts.Spring.Hibernate等框架不同.WebService是面向服务的架构(SOA),看起来像是比SSH框架要大.那么它到底是做什 ...

  4. webservice basics

    =====================Quote starts================== JAX-WS (JavaTM API for XML-Based Web Services)规范 ...

  5. 《转》CXF WebService 开发文档-目录索引

    CXF WebService 开发文档-目录索引 上次介绍了Axis的WebService,现在我们来看看CXF是怎么完成WebService的. Axis1 WebService 在线博文: htt ...

  6. 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 ...

  7. spring WebServiceTemplate 调用 axis1.4 发布的webservice

     前言: 最近在开发中需要调用对方的 webservice服务,按照现有的技术,本应该是一件很简单的事情,只需要拿到wsdl文件,生成客户端代码即可,但是,对方的webservice服务是06年用ax ...

  8. MyEclipse 搭建webservice (axis1.4)

    0 引言  以前都是做javaweb的 最近因工作需要 接触了webservice 关于什么事webservice,与web的区别,soap,跟http的区别,asix1和asix2的区别,为什么不用 ...

  9. axis1客户端调用webservice的通用代码

    1.axis1 作为web service 客户端时,调用web service 服务端的通用代码 String url = "http://www.webxml.com.cn/webser ...

  10. 使用URLConnection调用axis1.4开发的webservice

    写在前面: 调用webservice的方式有很多:1.直接在客户端使用工具生成客户端代码,将代码拷进项目中调用即可:2.使用对应的webservice框架来进行调用,比如如果我们我的服务端开发用的是a ...

随机推荐

  1. Spark Streaming + Kafka 整合向导之createDirectStream

    启动zk: zkServer.sh start 启动kafka:kafka-server-start.sh $KAFKA_HOME/config/server.properties 创建一个topic ...

  2. Linux 环境下安装rlwrap工具

    rlwrap项目是一个“readline包装器”,它使用GNU readline库来编辑任何其他命令的键 盘输入.通过rlwrap可以进行命令的上下切换,类似历史命令. 1.下载rlwrap rpm ...

  3. Python基础篇(格式化输出,运算符,编码):

    Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s  替换字符串      %d 替换整体数字  ...

  4. 【问题解决方案】本地仓库删除远程库后添加到已有github仓库时仓库地址找不到的问题(github仓库SSH地址)

    参考: 我参考我自己.jpg 背景: 想添加一下远程库,github主页找了半天,Google搜索了半天,都没有找到,所以这里写一个,记录一下 1-格式分析:git@github.com:用户名/仓库 ...

  5. 利用Navicat Premium连接Oracle数据库

    利用Navicat Premium连接Oracle数据库 Navicat premium是一款数据库管理工具,支持多种数据库,也非常轻量: 安装包准备:Navicat Premium_11.1.8简体 ...

  6. GeneXus笔记本—城市级联下拉

    最近在交流GeneXus的时候 总是会遇到有城市级联下拉的问题 这里就简单做几种方式 供大家参考参考 第一种就是直接绑定关联信息然后在后者的条件模块设定条件即可 具体如下: 首先我们所需要的表为pro ...

  7. MMM实现Mysql高可用

    MySQL主主同步方案 l  MySQL主主+Keepalived l  MySQL+DRBD+Heartbeat 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主主方案, ...

  8. JAVA中的SimpleDateFormat yyyy和YYYY的区别

    最近有一个功能是对输入的日期格式化,设计给出的范例是 YYYY-MM-dd HH:mm:ss,于是我简单验证了一下是可以的,然后就这么在手册里写了.然后偶然发现有地方也用yyyy啊,这个到底有神马区别 ...

  9. Codeforces 1178F DP

    题意:有一张白纸条,你需要给这张纸条染色.染色从颜色1开始染色,每次选择纸条的一段染色时,这一段的颜色必须是相同的.现在给你染色后的纸条,问有多少种染色方案? F1: 思路:最开始的想法是以染色顺序为 ...

  10. 从Flask-Script迁移到Flask-Cli

    Abstrct flask从0.11版本开始引入了click提供命令行支持,在此之前我们通常会引入Flask-Script来提供. 在<Flask web开发>这本书编写时flask0.1 ...