本来很简单的一个环境搭建问题足足困扰了我一周的时间,所以思来想去还是写一篇博文记录下来,以后就不用那么四处去找资料找例子了,实在是浪费时间

废话不多说

1  首先在MyEclipse下创建WEB PROJECT   名称为 WebService

2  导入需要的jar包  在  http://pan.baidu.com/s/1gdWzowr   然后用 http://pan.baidu.com/s/1bnOzNEv替换项目中的web.xml

3  访问   http://127.0.0.1:8080/WebService/services 看看是否成功访问到网页 如果是则环境基本搭建

4  创建服务器类

package com.demo.axis;

public class HelloService {

	public String sayHello(){
return "hello";
} public String sayHelloToPerson(String name){
if(name == "" || name.equals("")){
name = "nobody";
}
return "hello " + name;
}
}

   5   创建deploy.wsdd

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloServices" provider="java:RPC">
<parameter name="className" value="com.demo.axis.HelloService"/> //如果将类放在包下,value应写成packagename.className的形式
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>

6  发布该服务器类

java -Djava.ext.dirs="F:\GSXM\workspace\.metadata\.me_tca
t\webapps\WebService\WEB-INF\lib" org.apache.axis.client.AdminClient -l http://1
27.0.0.1:8080/WebService/services/AdminService F:\GSXM\workspace\.metadata\.me_
tcat\webapps\WebService\WEB-INF\classes\deploy.wsdd

  7   访问 http://127.0.0.1:8080/WebService/services 看见

8 编写客户端访问

package com.demo.axis;

import java.io.IOException;
import java.net.MalformedURLException; import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call;
import org.apache.axis.client.Service; public class Client { private static final String HELLO_SERVICE_ENDPOINT = "http://127.0.0.1:8080/WebService/services/HelloServices"; public void callSayHello() {
try {
Service service = new Service();
Call call = (Call) service.createCall();
//传递url
call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));
//调用方法名字
call.setOperationName(new QName("http://webservice.sinosoft.com/","sayHello"));
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
try {
//ret即执行方法之后得到的返回值,此处不用传参,故不用写字符串
String ret = (String) call.invoke(new Object[] {});
System.out.println("The return value is:" + ret);
return;
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
} public void callSayHelloToPerson() {
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(HELLO_SERVICE_ENDPOINT));
call.setOperationName(new QName("http://webservice.sinosoft.com/","sayHelloToPerson"));
call.addParameter("name", org.apache.axis.Constants.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
try {
//ret即执行方法之后得到的返回值,此处传了一个字符串做为参数,如果不写空,会报错
String ret = (String) call.invoke(new Object[] {"Seven"});
System.out.println("The return value is:" + ret);
return;
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
} public static void main(String[] args){
Client c = new Client();
c.callSayHello();
c.callSayHelloToPerson();
}
}

  结果

The return value is:hello
The return value is:hello Seven

  由于前面的下载失效了所以在后面补充一下 在web.xml 中插入

<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

需要下载的jar包已经重新上传至百度云盘

axis.zip

关于Axis 1.4 环境的搭建问题的更多相关文章

  1. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  2. CentOS7 + mono +Jexus 环境的搭建

    CentOS7的安装和配置 1,从http://www.centos.org/下载CentOS7的镜像,并在VMWare中创建该镜像的虚拟机,为方便操作,把虚拟机的网络连接设置为桥接模式:在安装过程中 ...

  3. ubuntu14.04安装及web环境的搭建

    在进行接下来的工作之前首先得准备一个Ubuntu的启动U盘以及腾出一个至少50G的系统盘(在网上看到有人用20G的,不知道效果怎么样).关于Ubuntu启动U盘大家可以参考这个帖子 http://ti ...

  4. ubuntu 14.04LTS 环境下搭建tftp服务器

    花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...

  5. Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

    交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...

  6. windows环境下搭建vue+webpack的开发环境

    前段时间一直在断断续续的看vue的官方文档,后来就慢慢的学习搭建vue的开发环境,已经有将近两周了,每到最后一步的时候就会报错,搞的我好郁闷,搁置了好几天,今天又接着搞vue的开发环境,终于成功了.我 ...

  7. 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法

    非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法 环境:非域环境 因为是自动故障转移,需要加入见证,事务安全模式是,强安全FULL模式 做到最后一 ...

  8. 如何在没有域的环境中搭建AlwaysOn(二)

    对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量. 上篇博客 ...

  9. JMeter--二、在Windows环境上搭建wordpress

    为了学习使用JMeter,在Windows环境上搭建了wordpress. 使用JMeter录制或是编写登录worepress.编辑文章.删除文章的脚本. 首先了解一下wordpress是什么? Wo ...

随机推荐

  1. 《数学分析Analysis》の 学习笔记

    >> 皮亚诺(Peano)公理 定义自然数 公理2.1   0是一个自然数. 公理2.2   若n是自然数, 则n++也是自然数. 公理2.3   0不是任何自然数的后继, 即对于每个自然 ...

  2. NYOJ 299

    (前言:这是一道关于矩阵快速幂的问题,介绍矩阵快速幂之前,首先看"快速幂"问题. 在前面的博客里有记录到快速幂取模算法,不过总体的思想总是和取模运算混淆在一起,而忽略了" ...

  3. 杂谈3之English

    1.面向过程(OPP):Orient Procedure Program (C语言) 2.面向对象(OOP):Orient ObjectProgram(Java) 3.面向对象的三大特征:继承Inhe ...

  4. 简单的python协同过滤程序

    博主是自然语言处理方向的,不是推荐系统领域的,这个程序完全是为了应付大数据分析与计算的课程作业所写的一个小程序,先上程序,一共55行.不在意细节的话,55行的程序已经表现出了协同过滤的特性了.就是对每 ...

  5. linux 发送带附件的邮件

    一.mutt命令 1.安装 yum -y install mutt 2.使用 echo "mail content"|mutt -s "mail title"  ...

  6. centos php 扩展安装

    1. 安装mysqli扩展 1.进入php源代码目录:# cd /home/apps/web/php/php-5.3.5/ 2.再进入要添加的mysqli扩展源码目录:# cd ext/mysqli/ ...

  7. Java版求1000以内的完全数

    /* * 若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数,简称完数. * 例如:6=1+2+3. * 题目:求1000以内的完全数. */ public cl ...

  8. Python基础(十一)-面向对象

    三种编程范式: 1.函数式编程:函数指数学意义上的函数 由于命令式编程语言也可以通过类似函数指针的方式来实现高阶函数,函数式的最主要的好处主要是不可变性带来的.没有可变的状态,函数就是引用透明(Ref ...

  9. SQL LIKE语句多条件贪婪匹配算法

    在CMS开发中,经常会有类似这样的需求: 提问——回答模式,最经典的例子就是百度提问. 提问者提出问题,由其他人回答,其他人可以是用户,也可以是服务商. 在这个模式中,如何充分利用历史数据是最关键的技 ...

  10. Python基础篇-day8

    本节目录1.抽象接口2.静态方法.类方法.属性方法3.类的特殊方法 3.1 __doc__ 表示类的描述信息(注释) 3.2 __module__ 和 __class__ 3.3 __init__ 构 ...