学习Axis和web service之一

学习Axis和web service之一
web service由于工作中需要用到,所以那天从网上GOOGLE一下,查看如何制作自己的第一个WEB SERVICE。首先,web service的原理我就不多讲了,再怎么讲也不如人家讲的好,况且都是从别人那里拷贝的。还是整点实际的吧。马上建立自己的WEB SERVICE的程序。

一.首先下载安装软件:
1.axis-src-1_2_1,(自己去下载,地址忘记了)
2.jakarta-tomcat-5.0.18.exe(这个是安装版本,从别的地方拷贝也可以的)
最少也要有这两个包

二.安装
自己安装吧。挺简单的。TOMCAT安装最好改一下名字比如:TOMCAT

三.
1.将axis-src-1_2_1这个包解压后,将axis-1_2_1/webapps下axis的所有东西拷贝到你刚刚建立的TOMCAT的webapps下。目录结构如下:
tomcat-webapps-axis
然后查看一下你的axis的WEB-INF的lib下*.jar文件是否全,应该有8个
axis.jar
axis-ant.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
saaj.jar
wsdl4j-1.5.1.jar
(一定看好各个文件的文件名,一会将配置CLASSPATH)

2.然后到axis-1_2_1目录下,找到lib文件夹,拷贝其中的activation.jar文件,到
Tomcat/webapps/axis/WEB-INF/lib,和上面的8个jar文件在一起,就OK了。

四.配置classpath
我的电脑-右键属性-高级-环境变量
1.建立变量:AXIS_HOME=D:/Tomcat/webapps/axis(你自己的实际TOMCAT目录)
2.建立变量:AXIS_LIB=%AXIS_HOME%/WEB-INF/lib
建立这两个环境变量
3.classpath(相信这个变量里面肯定有值,TOMCAT安装的时候配置过)

.;%JAVA_HOME%/lib/dt.jar;
%JAVA_HOME%/lib/tools.jar;
%TOMCAT_HOME%/lib;(以上三个都是安装TOMCAT配置的,下面是axis的)
%AXIS_LIB%/axis.jar;
%AXIS_LIB%/commons-discovery-0.2.jar;
%AXIS_LIB%/commons-logging-1.0.4.jar;
%AXIS_LIB%/jaxrpc.jar;
%AXIS_LIB%/saaj.jar;
%AXIS_LIB%/log4j-1.2.8.jar;
%AXIS_LIB%/wsdl4j-1.5.1.jar;
%AXIS_LIB%/activation.jar;
%AXIS_LIB%/mail.jar
拷贝到classpath里面就可以了,然后点击确定。

五.测试
这步很重要,我自己觉得,因为如果你不知道CLASSPATH是否配置齐全,所以应该测试一下,有些文章没有测试直接就往下走了,但是就出现问题了,我就出现了问题,是jar包没有导入造成的,错误信息如这样:
Exception in thread "main" java.lang.NoClassDefFoundError:

javax/wsdl/OperationType
at org.apache.axis.description.OperationDesc.<clinit>(OperationDesc.java
:58)
        at org.apache.axis.client.Call.addParameter(Call.java:948)
        at org.apache.axis.client.Call.addParameter(Call.java:983)
        at BankClient.main(BankClient.java:29)
这就是没有导入造成的错误。
其实你先看一下classpath就能避免错误。
点击开始-运行-cmd-打开命令行窗口-敲入set classpath,好了你配置的classpath完全显示了,你可以仔细的查看了。

六调试AXIS
启动TOMCAT,输入网址 http://localhost:8080/axis, 出现 "Hello! Welcome to Apache-Axis." 欢迎词, 点击链接 Validate 来验证 Axis 所需的 .jar 包是否齐全 (Needed Components).

七.开发一个 Web Service 服务端程序
(代码是转贴,谢谢!)
我的这个例子是使用 Web Service 返回一个请求字段的值.

import java.util.*;
 
public class wsTestService
{
  String strName = "Ryun";
  int intAge = 21;
  List items = new ArrayList();
  
  public String getName() {
    return strName;
   }
  
  public int getAge() {
    return intAge;
   }
  
  public List getItems() {
    return items;
   }
}将此文件命名为 wsTestService.jws 存放到
d:/tomcat/webapp/axis/下
访问 http://localhost:8080/axis/wsTestService.jws, 出现 "There is a Web

Service here"即表明 Web Service 服务端程序安装完成.
开发一个 Web Service 客户端程序
建立客户端程序wsTestClient.java
以下是客户端的源程序, 用于向 Web Service Server 提交服务请求:

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
 
public class wsTestClient {
  public static void main(String args[]) {
    System.out.println("Start invoking...");
    try {
      String strUri =

"http://localhost:8080/axis/wsTestService.jws";
      Service service = new Service();
      Call call = (Call)
      service.createCall();
      call.setTargetEndpointAddress(new

java.net.URL(strUri));
      call.setOperationName("getName");
      String ret = "" + call.invoke(new Object[] {});
      System.out.println("I am " + ret + ".");
     }
    catch (Exception e) {
      System.err.println(e.toString());
     }
    System.out.println("Finished the invoking.");
    }
}
然后编译运行,如果出现问题,那可能是环境变量path,classpath配置的问题,自己查看

一下,这里就不再描述了。
C:/>cd /
C:/>javac wsTestClient.java
 
C:/>java wsTestClient
Start invoking...
I am Ryun.
Finished the invoking.
完成,再去学习,稍后总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值