概述
学习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.
完成,再去学习,稍后总结
最后
以上就是热心信封为你收集整理的学习Axis和web service之一的全部内容,希望文章能够帮你解决学习Axis和web service之一所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复