axis—安装
关键字: webservice从今天开始我将学习axis的经验以笔记的形式共享给大家希望能对大家的工作有所帮助。
相信大家对webservice有一定的了解我在这里就不再复述webservice的一些基本概念。
axis1.3是soap1.2协议的一个实现框架。在工作中我们可以方便的通过axis进行webservice的开发。
废话少说,我们开始安装axis.
我们可以从axis的官方网站上下载(http://ws.apache.org/axis/).解压缩axis-bin-1_3.zip。在lib中包含axis必须使用的jar包。docs中包含axis的文档,通常使用用户指南就可以解决大部分问题。samples中包含很多webservice的例子,以后会对这些例子进行进一步讲解。webapps文件夹中包含了一个axis web application你可以直接把他部署到tomcat中,然后在这个axis应用上发布你的webservice,发布成功后就可以调用了。build文件夹用来存放用ant编译的axis安装包的classes文件。
第一个步骤:安装axis.( Axis 1.3,tomcat 5.028, jdk 1.42)
copy axis-bin-1_3安装包下webapps文件夹中的axis目录到tomcat的webapps下发布你的axis应用。重新启动tomcat.访问http://localhost:8080/axis 。这时就会出现axis的欢迎画面.进入Validation链接以检查axis所使用的jar包是否全都存在。如果不存在就会显示一下画面:

我们可以根据链接下载axis缺少的jar文件,下载之后copy到tomcat\webapps\myaxis\WEB-INF\lib下即可。一般情况下还会有一些warning消息,里面列出的的选项不是必须存在的jar包。当所有必须的jar文件全部安装完毕,则会出现以下画面。

表示axis已经具备所有需要的jar文件!
第二步骤:测试axis。
在测试axis之前我们需要一些准备工作。我们首先要把axis用到的jar包添加到CLASSPATH环境变量中去。如下:
C:\tomcat5\webapps\axis\WEB-INF\lib\axis.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\jaxrpc.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\saaj.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\commons-discovery-0.2.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\commons-logging-1.0.4.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\wsdl4j-1.5.1.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\activation.jar;
C:\tomcat5\webapps\axis\WEB-INF\lib\mail.jar
注意路径是根据自己部属情况而定,上面的只是参考。
我们通过JWS (Java Web Service)文件的方式来发布一个webservice。首先在安装包的axis-bin-1_3\axis-1_3\samples\userguide\example2目录下找到Calculator .java文件,将其改名为Calculator .jws然后copy到tomcat的webapps/axis/下。发布这个webservice。这个webservice提供了两个功能即加减功能。
Webservice code:
public class Calculator {
public int add(int i1, int i2)
{
return i1 + i2;
}
public int subtract(int i1, int i2)
{
return i1 - i2;
}
}
Client code:
package samples.userguide.example2 ;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;
import javax.xml.rpc.ParameterMode;
public class CalcClient
{
public static void main(String [] args) throws Exception {
Options options = new Options(args);
String endpoint = "http://localhost:" + options.getPort() +
"/axis/Calculator.jws";
args = options.getRemainingArgs();
if (args == null || args.length != 3) {
System.err.println("Usage: CalcClient arg1 arg2");
return;
}
String method = args[0];
if (!(method.equals("add") || method.equals("subtract"))) {
System.err.println("Usage: CalcClient arg1 arg2");
return;
}
Integer i1 = new Integer(args[1]);
Integer i2 = new Integer(args[2]);
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName( method );
call.addParameter( "op1", XMLType.XSD_INT, ParameterMode.IN );
call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN );
call.setReturnType( XMLType.XSD_INT );
Integer ret = (Integer) call.invoke( new Object [] { i1, i2 });
System.out.println("Got result : " + ret);
}
}
下面我们来进行调用。首先进入客户端源代码所在位置,也可以将源代码所在目录添加到classpath中
(C:\Documents and Settings\y41yang\Desktop\software\axis-bin-1_3\axis-1_3;):
然后输入java samples.userguide.example2.CalcClient -p8080 add 2 5
这时如果结果为Got result : 7 则说明axis安装成功!如果失败了请检查classpath设置,
是否将所有用到的jar文件加入classpath中。到这里axis就已经安装成功了!
后面我会进一步详细讲解有关通过wsdd部署webservice的方式。
由于时间比较仓促有很多的解释不清地方,如果有什么不明白可以给我回复,我会尽快答复!
评论
java.lang.RuntimeException: No compiler found in your classpath! (you may need to add 'tools.jar')
调用Web Services正常结束
这是什么问题啊 我用的JDK1.5
Activation.jar
Javamail.jar
Xmlsec.jar
只好使用这些jar文件了
D:\axis-1_4\samples\userguide\example2>java CalcClient -p9090 add 2 5
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Options cannot be resolved to a type
Options cannot be resolved to a type
Service cannot be resolved to a type
Service cannot be resolved to a type
Call cannot be resolved to a type
Call cannot be resolved to a type
XMLType cannot be resolved
ParameterMode cannot be resolved
XMLType cannot be resolved
ParameterMode cannot be resolved
XMLType cannot be resolved
at CalcClient.main(CalcClient.java:28)
不过需要指出的是,应将CalcClient.java源代码中的包:“package samples.userguide.example2”去掉,然后在eclipse中重新编译后再执行“java CalcClient -p8080 add 2 5”命令,否则会出现“Exception in thread "main" java.lang.NoClassDdfFoundError”的错误。
环境:tomcat5.5 + jdk1.5 + axis1_4
准备工作:
1. 下载axis:在http://www.apache.org/dyn/closer.cgi/ws/axis/1_4/下载了axis-bin-1_4.zip
2. http://java.sun.com/xml/downloads/jaxm.html(Java API for XML Messaging (JAXM))
3. 下载 activation.jar: http://java.sun.com/products/javabeans/jaf/downloads/index.html
4. 在https://maven-repository.dev.java.net/repository/com.sun.xml.messaging.saaj/jars/下载了saaj-impl-1.3.jar
5. 下载了xmlsec-1.4.1.jar
6. 下载了mail.jar
配置
1. 把axis-bin-1.4.zip解压到d:\axis
2. 把d:\axis\webapp\ 下的axis复制到 d:\tomcat 5.5\webapp\下,即产生一个d:\tomcat 5.5\webapp\axis
3. 把d:\tomcat 5.5\webapp\axis\WEB-INF\lib下的所有jar文件复制到了d:\tomcat 5.5\common\lib内
4. 将activation.jar, mail.jar ,saaj-impl-1.3.jar, xmlsec-1.4.1.jar 和java jdk1.5里的tools.jar都复制到了d:\tomcat 5.5\common\lib和d:\tomcat 5.5\webapp\axis\WEB-INF\lib内
5. 设置环境变量
Axis_home: d:\axis
Axis_lib:d:\axis\lib
Axiscalsspath: %AXIS_LIB%\axis.jar;
%AXIS_LIB%\commons-discovery.jar;
%AXIS_LIB%\commons-logging.jar;
%AXIS_LIB%\jaxrpc.jar;
%AXIS_LIB%\saaj-impl-1.3.jar;
%AXIS_LIB%\log4j-1.2.8.jar;
%AXIS_LIB%\xml-apis.jar;
%AXIS_LIB%\xercesImpl.jar;
%AXIS_LIB%\activation.jar;
%AXIS_LIB%\saaj.jar; (lib内有saaj.jar)
测试:
在地址栏里打http://localhost:8080/axis/出现
“Hello! Welcome to Apache-Axis.”界面
点击validation进入
“Axis Happiness Page”界面
但出现:
Found SAAJ API ( javax.xml.soap.SOAPMessage ) at an unknown location
Found JAXP implementation ( javax.xml.parsers.SAXParserFactory ) at an unknown location
Found Activation API ( javax.activation.DataHandler ) at an unknown location
为什么还有文件找不到呢?是不是哪里做的不对?请指教。我也用tomcat6.0、tomcate5.0都是一样的问题。但我把需要的jar文件都已经放到lib里了,而且像mail.jar都找到了,为什么这三个就找不到呢!
刚学这个,请指名下
(C:\Documents and Settings\y41yang\Desktop\software\axis-bin-1_3\axis-1_3;):然后输入java samples.userguide.example2.CalcClient -p8080 add---------
-----------------------------------------------------
是不是编辑的缘故阿? 后面有省略了的地方 请补充下 谢谢。。
发表评论
- 浏览: 93426 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
共 7 张
最近加入圈子
最新评论
-
axis—安装
按lz的步骤成功,谢谢lz
-- by wx886104 -
axis—安装
有一个警告 结果还是对的。。。。这个应该不是在eclipase下面进行的。。。我 ...
-- by zjutsoft -
用JAMES实现自己的邮件服 ...
以前没有接触过,现保存,以后可能会用到的。谢谢楼主
-- by wxb_love -
用JAMES实现自己的邮件服 ...
正学JAMES,支持
-- by heyujava -
用JAMES实现自己的邮件服 ...
为什么配置了<mailet match="BizMatcher" clas ...
-- by 麦田守望者






评论排行榜