摘要

1.环境介绍

2.所需资源下载地址

3.提醒事项说明

4.入门案例实战

5.当然是我最喜欢的打赏环节啦(坚持免费,动力源泉啊)

ps:案例中所需的所有jar包和文件全部可以免费直接下载,转载请注明出处.

进入正题

开发环境==>JDK 1.7 + Eclipse 4.4+ Tomcat

7.0.57 + AXIS 1.4。

AXIS 1.4==> 官方下载地址http://archive.apache.org/dist/ws/axis/1_4/

下载截图

axios 离线下载 axis apk_客户端

百度云下载链接,内涵axis,tomcat.JDK等资源,所需要额外jar包

链接:https://pan.baidu.com/s/1wQfOzwoCKOoCDU_KLFynDQ
提取码:3vwf

提醒事项

1.学习一种新的技术,官方提供的资料中往往带有简单的demo(案例)和API帮助开发者开快速上手,AXIS也不例外

  a)axis-bin-1_4.zip压缩包解压之后图如下,双击webapps文件夹看到axis文件夹

  

axios 离线下载 axis apk_客户端_02

2.AXIS 提供了两种服务发布方式,一种是即时发布(Instant Deployment)少用,另外一种是定制发布(Custom Deployment)常用。

3.webservice axis1.4在请求与响应参数方面,不支持List类型,但可以支持数组;如List<Student> 可以修改成Student[]写法

4.在提供的服务接口中,如有自定义实体bean、数组等复杂类型时,需要对其实体对象进行序列化和反序列化

5.若有其他提醒事项,欢迎各位评论区补充.

准备就绪进行实战

1.使用axis压缩包内自带的DEMO进行测试配置

  a)将下载的axis-bin-1_4.zip文件解压后的webapps文件下的axis文件拷贝到本机TOMCAT安装路径\webapps 目 录 下

  b)之后将 activation.jar 、 mail.jar 、 tools.jar三个jar包拷贝到本机TOMCAT安装路径\webapps\axis\WEB-INF\lib

  c)启动tomcat==>可直接双击tomcat/bin/startup.bat文件启动

  d)浏览器访问http://localhost:8080/axis/happyaxis.jsp页面显示如下,则配置成功

axios 离线下载 axis apk_tomcat_03

第一种发布方式(即时发布),限制太多,不支持带包的类,但是非常简单,方便入门体验axis,(ps,请先完成以上准备阶段再进行以下实战)

1.用记事本编辑一段简单java文件,作为测试的待发布文件==>HelloKePP.java文件

axios 离线下载 axis apk_tomcat_04

 

2.将HelloKePP.java文件放入到%TOMCAT_HOME%/webapps/axis目录下(也就是在上面准备就绪阶段中axis目录下),同时将HelloKePP.java文件后缀名更改成HelloKePP.jws

axios 离线下载 axis apk_tomcat_05

 

3.再次启动tomcat(可直接双击tomcat/bin/startup.bat文件启动),若此时tomcat已经启动,可以直接点击shutdown.bat停止之后再次启动

4.启动之后打开浏览器访问连接http://localhost:8080/axis/HelloKePP.jws,页面显示如下,这时一个简单的服务就发布成功了

axios 离线下载 axis apk_tomcat_06

5.页面可以点击click to see the WSDL查看你所发布服务具体描述文件(WSDL)

axios 离线下载 axis apk_客户端_07

6.服务端已经准备完毕,以下客户端

  a)在eclipse下创建java项目做为客户端

  

axios 离线下载 axis apk_客户端_08

  b)客户端代码如下,

1 package com.kepp.axis.client;
 2 import java.net.URL;
 3 import javax.xml.namespace.QName;
 4 import javax.xml.rpc.ServiceException;
 5 import org.apache.axis.client.Call;
 6 import org.apache.axis.client.Service;
 7 /**
 8  * 及时发布方式
 9  * 客户端测试类
10  * @author newer
11  */
12 public class ClientDemo {
13     public static void main(String[] args) throws Exception {
14         //直接给定服务端口访问连接
15         String targetEntPoint = "http://localhost:8080/axis/HelloKePP.jws";
16         Service service = new Service();
17         Call call = (Call)service.createCall();
18         //设置的xml文件中operation的name值,需要和wsdl中的operation一致
19         call.setOperationName(new QName(targetEntPoint,"Hello"));
20         //设置新的连接地址值
21         call.setTargetEndpointAddress(new URL(targetEntPoint));
22         //使用反射机制生成对象,传入需要传入的数据即可
23         String result = (String)call.invoke(new Object[]{"短腿基"});//可以i输入任意字符串,这就相当于调用了其他系统提供服务接口
24         System.out.println(result);//KePP say hello to 短腿基
25     }
26 }

定制发布

未完待续...................