`
yangyang
  • 浏览: 174618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

axis—安装

阅读更多
 

从今天开始我将学习axis的经验以笔记的形式共享给大家希望能对大家的工作有所帮助。<o:p></o:p>

     相信大家对webservice有一定的了解我在这里就不再复述webservice的一些基本概念。

axis1.3soap1.2协议的一个实现框架。在工作中我们可以方便的通过axis进行webservice的开发。

废话少说,我们开始安装axis.<o:p></o:p>

     我们可以从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文件。<o:p></o:p>

     第一个步骤:安装axis.( Axis 1.3,tomcat 5.028, jdk 1.42)<o:p></o:p>

copy  axis-bin-1_3安装包下webapps文件夹中的axis目录到tomcatwebapps下发布你的axis应用。重新启动tomcat.访问http://localhost:8080/axis 。这时就会出现axis的欢迎画面.进入Validation链接以检查axis所使用的jar包是否全都存在。如果不存在就会显示一下画面:

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

表示axis已经具备所有需要的jar文件!

<o:p> </o:p>

 第二步骤:测试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然后copytomcatwebapps/axis/下。发布这个webservice。这个webservice提供了两个功能即加减功能。<o:p></o:p>

Webservice code:<o:p></o:p>

public class Calculator {<o:p></o:p>

  public int add(int i1, int i2)<o:p></o:p>

  {<o:p></o:p>

    return i1 + i2; <o:p></o:p>

  }<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

  public int subtract(int i1, int i2)<o:p></o:p>

  {<o:p></o:p>

    return i1 - i2;<o:p></o:p>

  }<o:p></o:p>

}<o:p></o:p>

Client code:<o:p></o:p>

package samples.userguide.example2 ;<o:p></o:p>

<o:p> </o:p>

import org.apache.axis.client.Call;<o:p></o:p>

import org.apache.axis.client.Service;<o:p></o:p>

import org.apache.axis.encoding.XMLType;<o:p></o:p>

import org.apache.axis.utils.Options;<o:p></o:p>

<o:p> </o:p>

import javax.xml.rpc.ParameterMode;<o:p></o:p>

<o:p> </o:p>

public class CalcClient<o:p></o:p>

{<o:p></o:p>

   public static void main(String [] args) throws Exception {<o:p></o:p>

       Options options = new Options(args);<o:p></o:p>

       <o:p></o:p>

       String endpoint = "http://localhost:" + options.getPort() +<o:p></o:p>

                         "/axis/Calculator.jws";<o:p></o:p>

       <o:p></o:p>

       args = options.getRemainingArgs();<o:p></o:p>

       <o:p></o:p>

       if (args == null || args.length != 3) {<o:p></o:p>

           System.err.println("Usage: CalcClient arg1 arg2");<o:p></o:p>

           return;<o:p></o:p>

       }<o:p></o:p>

       <o:p></o:p>

       String method = args[0];<o:p></o:p>

       if (!(method.equals("add") || method.equals("subtract"))) {<o:p></o:p>

           System.err.println("Usage: CalcClient arg1 arg2");<o:p></o:p>

           return;<o:p></o:p>

       }<o:p></o:p>

       <o:p></o:p>

       Integer i1 = new Integer(args[1]);<o:p></o:p>

       Integer i2 = new Integer(args[2]);<o:p></o:p>

<o:p> </o:p>

       Service  service = new Service();<o:p></o:p>

       Call     call    = (Call) service.createCall();<o:p></o:p>

<o:p> </o:p>

       call.setTargetEndpointAddress( new java.net.URL(endpoint) );<o:p></o:p>

       call.setOperationName( method );<o:p></o:p>

       call.addParameter( "op1", XMLType.XSD_INT, ParameterMode.IN );<o:p></o:p>

       call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN );<o:p></o:p>

       call.setReturnType( XMLType.XSD_INT );<o:p></o:p>

<o:p> </o:p>

       Integer ret = (Integer) call.invoke( new Object [] { i1, i2 });<o:p></o:p>

       <o:p></o:p>

       System.out.println("Got result : " + ret);<o:p></o:p>

   }<o:p></o:p>

}<o:p></o:p>

<o:p> </o:p>

下面我们来进行调用。首先进入客户端源代码所在位置,也可以将源代码所在目录添加到classpath
C:\Documents and Settings\y41yang\Desktop\software\axis-bin-1_3\axis-1_3;):<o:p></o:p>
然后输入java samples.userguide.example2.CalcClient -p8080 add 2 5
 这时如果结果为Got result : 7 则说明axis安装成功!如果失败了请检查classpath设置,
是否将所有用到的jar文件加入classpath中。到这里axis就已经安装成功了!
后面我会进一步详细讲解有关通过wsdd部署webservice的方式。
由于时间比较仓促有很多的解释不清地方,如果有什么不明白可以给我回复,我会尽快答复! 

<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 510pt; HEIGHT: 265.5pt" type="#_x0000_t75"><v:imagedata o:title="installsuccess" src="file:///C:\DOCUME~1\y41yang\LOCALS~1\Temp\msohtml1\03\clip_image001.png"></v:imagedata></v:shape>

<o:p></o:p>
分享到:
评论
23 楼 滁筱梦 2013-01-05  
出现:
   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都找到了,为什么这三个就找不到呢!
出现了和11楼一样的问题!
22 楼 kaihea 2008-11-20  
classpath和类路径配好,就OK了,不过还是报一个警告,activation.jar是加过的!
警告: Unable to find required classes (javax.activation.DataHandler and javax.ma
il.internet.MimeMultipart). Attachment support is disabled.
21 楼 wx886104 2008-09-09  
按lz的步骤成功,谢谢lz
20 楼 zjutsoft 2008-09-03  
有一个警告 结果还是对的。。。。


这个应该不是在eclipase下面进行的。。。我研究了一个早上。。。。
19 楼 lovefly_zero 2008-03-21  
开始调用Web Services
java.lang.RuntimeException: No compiler found in your classpath!  (you may need to add 'tools.jar')
调用Web Services正常结束

这是什么问题啊 我用的JDK1.5
18 楼 lovefly_zero 2008-03-21  
现在我也在学习Axis,不过网页中提示的3个未安装文件都无法下载。
Activation.jar
Javamail.jar
Xmlsec.jar
只好使用这些jar文件了
17 楼 linkexf 2007-08-29  
我按照你说的做了,,怎么报错误.
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)
16 楼 lvxin006 2007-08-21  
请问版主能不能给俺推荐本学习web service比较好的书啊?俺是盲人摸象啊,学的慢哪
15 楼 熟悉的陌生人 2007-08-17  
5555
报错了
14 楼 CoderDream 2007-08-14  
图片看不到,能否改成jpg格式的!
13 楼 liujun999999 2007-08-13  
哈哈,成功,谢谢啦
12 楼 ziyang_liu 2007-07-18  
首先得支持楼主一下,谢谢了!
不过需要指出的是,应将CalcClient.java源代码中的包:“package samples.userguide.example2”去掉,然后在eclipse中重新编译后再执行“java CalcClient -p8080 add 2 5”命令,否则会出现“Exception in thread "main" java.lang.NoClassDdfFoundError”的错误。
11 楼 xln0406 2007-07-02  
Axis的配置
 环境: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都找到了,为什么这三个就找不到呢!

10 楼 onlykwx 2007-06-21  
按着兄弟说的一步步来,已经成功!谢谢!
9 楼 onlykwx 2007-06-21  
没看,先支持一下
8 楼 warren 2007-06-15  
写的不错.支持LZ.

楼上的兄弟,你的ID也太绝了吧. 把我给晃了,我还以为是robbin呢.晕了~~~
7 楼 robbln 2007-06-14  
我们可以从axis的官方网站上下载(http://ws.apache.org/axis/).解压

打不开网页.里面好多,选哪一个啊
6 楼 xubeson 2007-04-28  
非常感谢
但是我还是用一个问题,当我的JAVA源代码中是有包的,把他变成jws时为什么总是找不到路径
5 楼 键盘寄生物 2007-03-29  
CalcClient.java 也要拷到 webapps\axis下吗?
刚学这个,请指名下

(C:\Documents and Settings\y41yang\Desktop\software\axis-bin-1_3\axis-1_3;):然后输入java samples.userguide.example2.CalcClient -p8080 add---------
-----------------------------------------------------
是不是编辑的缘故阿? 后面有省略了的地方 请补充下 谢谢。。
4 楼 yangyang 2007-03-13  
谢谢!已经改正!

相关推荐

    jdk tomcat axis 安装配置 web service 发布

    【Axis安装配置】 Apache Axis是用于创建和部署Web服务的工具包,它是基于Java的,与Tomcat结合使用。安装配置Axis的步骤如下: 1. 下载Apache Axis的ZIP文件,解压缩到适当的位置。 2. 将Axis的`bin`目录添加到`...

    axis安装另需要的jar包

    标题中的"axis安装另需要的jar包"指出,我们在使用Axis进行开发时,除了标准的Axis库之外,可能还需要额外的Java Archive (JAR) 文件来支持完整的功能。Axis是一个开源的Web服务工具包,主要用来创建和部署SOAP...

    axis安装需要的包

    在http://www.apache.org/dyn/closer.cgi/ws/axis/1_4下面下载axis-bin-*_*.zip,解压后将webapps下的axis路径复制到tomcat的webapps下,将本附件中的包放进axis下的web-inf下的lib下

    Axis简介及安装

    **Axis安装步骤** 1. **下载**:访问Apache Axis官方网站获取最新版本的Axis二进制包。 2. **解压**:将下载的压缩包解压到一个合适的目录。 3. **配置环境变量**:在系统环境变量中设置`AXIS_HOME`指向解压后的...

    Axis 学习安装步骤

    至于“Axis安装步骤”这个压缩包文件,很可能是包含了上述安装步骤的详细教程或者必要的工具和配置文件。用户需要解压文件,按照里面的指导进行操作,以便成功安装和使用Axis。由于具体文件内容未知,这里无法提供更...

    Tomcat5.0.28下AXIS完全安装手册

    完成上述步骤后,重启Tomcat,然后访问http://localhost/axis进行测试,以确保AXIS安装成功并可以正常工作。 总之,安装AXIS需要对Tomcat的配置有一定的了解,并且需要注意特定版本的兼容性问题。通过细心配置和...

    axis_讲解 java

    根据提供的标题、描述、标签及部分内容,我们可以提炼出与 Axis 相关的 Java 知识点,主要包括 Axis 的安装配置、基本使用流程以及部署服务等内容。 ### 一、Axis 简介 #### 1.1 Axis 是什么? Axis 是 Apache ...

    axis2安装和部署

    本文将详细介绍如何在Windows和Unix/Linux环境下,利用Apache Axis2和Tomcat5.5来安装和部署Web服务。 首先,我们来看一下必要的环境准备。为了开发基于Axis2的Web服务,你需要一个Web容器,这里选用的是Tomcat5.5...

    Axis开发Web Service实例

    **一、Axis安装** 1. **环境需求**:确保你已安装J2SE SDK 1.3或1.4版本,这里以1.4.2为例,并且配置了Servlet容器,例如Tomcat 5.0。 2. **下载安装包**:前往http://ws.Apache.org/Axis/下载最新版的Axis安装包。...

    MyEclipse下Axis2插件安装笔记

    ### MyEclipse下Axis2插件安装步骤及注意事项 #### 一、下载MyEclipse Axis2插件 在安装MyEclipse下的Axis2插件之前,首先需要从官方网站下载所需的插件包。根据给定的部分内容,我们可以了解到具体的下载地址如下...

    eclipse axis2插件安装

    eclipse axis2 插件安装指南 Axis2 是一个开源的 Web 服务引擎,由 Apache 软件基金会维护。它提供了一个灵活、可扩展、性能高效的 Web 服务解决方案。Eclipse 是一个流行的集成开发环境(IDE),Axis2 插件安装...

    axis服务端和客户端创建

    3. **配置环境变量**: 设置`AXIS_HOME`指向Axis安装目录,然后设置`AXIS_LIB`和`AXISCLASSPATH`。需要注意的是,某些JAR文件(如log4j-1.2.8.jar)不是必需的,但建议保留以确保完整性和兼容性。 #### 三、创建Axis...

    axis自动生成客户端代码

    - `AXIS_HOME`:设置为Axis安装目录,例如`D:\õjava\java\axis\axis-1_4`。 - `AXIS_LIB`:设置为Axis的lib目录,通常位于`AXIS_HOME/lib`,例如`D:\õjava\java\axis\axis-1_4\lib`。 - **路径变量配置**: - ...

    axis 安装包下载

    三、 Axis安装步骤 1. 解压下载的Axis安装包,例如解压"axis-1_3"到一个合适的目录,如"C:\Program Files\Apache\axis1_3"。 2. 将解压后的目录添加到Java环境变量`CLASSPATH`中。确保在`JAVA_HOME\lib`目录之后添加...

    Axis2,Axis2 Eclipse plugin安装配置及安装过程中问题解决

    本文将详细讲解Axis2的安装配置过程,以及如何在Eclipse环境中安装和配置Axis2插件,同时解决可能出现的问题。 1、Axis2安装配置 首先,你需要从Apache官方站点(http://apache.freelamp.com/ws/axis2/1_4_1/)下载...

Global site tag (gtag.js) - Google Analytics