`
javaeyetodj
  • 浏览: 426099 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【转】axis 安装

阅读更多

转自 http://yangyang.iteye.com/blog/56519

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

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

axis1.3soap1.2协议的一个实现框架。在工作中我们可以方便的通过axis进行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>

分享到:
评论

相关推荐

    pyaxis:PC轴统计数据格式到Python Pandas数据框转换器

    pyaxis是一个用于PC轴(或PX)格式数据处理的python库,该库允许使用被广泛接受的pandas库提供的DataFrame结构通过python读写PC-Axis 格式。 PX是大量统计局使用的统计文件的标准格式。 已针对该格式开发了一套...

    Axis:用于关键帧动画的简笔画动画师

    轴 Axis是用于关键帧动画的简笔画动画器。 Axis受到启发,但不是强迫您像翻转书一样更改每个帧,而是让您简单地添加关键帧,并自动插入中间帧。 在以下位置在线查看 ... 另外,将jsgif安装到public/jsgif

    ggeasy:ggplot2快捷方式(使转换变得容易)

    吉易 你知道如何制作ggplot2图形,对吧? 不用担心。 小菜一碟。 现在,您能否将x轴标签旋转到垂直方向? ggeasy是为了让这更容易一些。...# rotate x axis labels ggplot( mtcars , aes( hp , mpg )) +

    phage:受Zarch启发的WebVRWebGL游戏(1987年也称为Virus)

    Arrow keys -转 如果您确实连接了(双杆)控制器(Xbox 360样式控制器): Left trigger -向上推力 Right trigger -射击 Left stick, horizontal axis -向左/向右转动 Right stick, vertical axis -向上/向下旋转 ...

    计算机视觉——入门级python安装环境配置和测试使用

    计算机视觉——入门级python安装环境配置和测试使用一、关于python二、python的下载安装1.python安装2.python环境配置三、载体配置(pycharm)四、库的导入(vlfeat+pcv+pillow)1.pcv库2.vlfeat库3.pil库(pillow)...

    ABB机器人独立轴运动设置.pdf

    一、机器人需要安装选项 610-1 Independent Axis; 二、以轴 6 为例设置独立轴。设置轴 6 的软限位。 1、 在 【控制面板】 - 【配置】 - 【motion】 - 【arm】 - 【rob1-6】 下,设置轴 6 的软限位,并把...

    FANUC机器人PAYLOAD设置.doc

    如果在软件安装时没有设 置正确的机器人有效负载或者由于更换法兰盘上的工具或工件而引起的有效负载改变, 必须设置机器人的有效负载。 最多可以设置10个有效负载列表,通过有效负载设置界面和使用示教程序指令来指定...

    tif转rawmatlab代码-CaMKIICode:在Thornquist等人使用的代码中,CaMKII衡量时间流逝以协调行为和动机

    tif转原始Matlab代码CaMKII规范衡量通过时间来协调行为和动机 内容: 尽快访问: 用于分析原始荧光的时间序列电压成像实验的代码(MATLAB) 钙成像: 用于分析与XXM刺激后的时间序列钙成像数据相对应的.tif文件的...

    origin 8 教程

    1.1.5Origin的安装 1.2Origin工作环境 1.2.1子窗口 1.2.2菜单栏 1.2.3工具栏 1.3Origin基本操作 1.3.1子窗口基本操作 1.3.2文件类型 1.3.3命名规则 1.3.4项目管理 1.3.5编程窗口 1.4定制Origin软件 1.4.1TextFonts...

    BNO055_IMU_arduino

    转到工具&gt;管理库,在Arduino IDE上安装以下内容 Arduino的BNO055 Adafruit统一传感器 安装Pyserial pip install pyserial 通过输入以下命令验证USB端口: ls /dev/tty 验证后,通过输入以下命令将此端口设置为可...

    abb机器人开通选项-ABB工业机器人添加选项配置,方法可教.pdf

    Motion Events 运动事件 608-1 World Zones ⼯作区监控 Motion Functions 运动功能 610-1 Independent Axis 机器⼈或外部轴轴⽆限转 611-1 Path Recovery 路径恢复 612-1 Path Offset 路径偏移(根据输⼊信号修正路径...

    欧拉公式求圆周率的matlab代码-attitude:姿态:物体在空间中的方向

    正在安装 如果使用NPM,请使用npm install attitude 。 否则,请下载。 支持AMD,CommonJS和香草环境。 在香草中,一种全球attitude输出: &lt; script src =" https://unpkg.com/attitude " &gt; &lt;/ script &gt; &lt; ...

    mkl_fft:Intel(R)MKL FFT功能的基于NumPy的Python接口

    可以使用以下命令安装到conda环境中 conda install -c intel mkl_fft由于MKL FFT支持对非连续排列的数组执行离散傅里叶变换,因此MKL可以直接用于任何行为良好的浮点数组,而对于单和双精度数组的就地和就地变换都...

    Python——基本图像操作和处理

    一、安装及环境配置 对于python的安装从一开始就十分不顺利,在用什么版本和是否自带库上纠结。第一次先单独安装了Python2.7版本没有自带库,后面发现要下载并安装三方库麻烦复杂,于是就卸载了。之后又尝试安装了...

    从Java走向Java+EE+.rar

    21.2 实例——利用AXIS开发一个简单的Web Service 310 21.3 小结 314 第22章 Java EE的安全 315 22.1 利用JAAS进行验证和授权 315 22.2 利用JSSE进行安全传输 317 22.3 小结 317 第23章 Java EE的测试 ...

    dama:以不同的方式看数据

    安装 pip install dama 入门 import numpy as np import dama as dm 网格数据 GridData是单个GridArrays的集合。 两者都有一个已定义的grid ,在这里我们通过简单的关键字参数在构造函数中初始化网格,从而产生带有x...

    使用D3.js构建实时图形的示例代码

    首先你需要在计算机上安装Node和npm。 数据的可视化表示是传递复杂信息的最有效手段之一,D3.js提供了创建这些数据可视化的强大工具和灵活性。 D3.js是一个JavaScript库,用于使用SVG,HTML和CSS在Web浏览器中生成...

    HTML开发王

    4.4.8 设置网页转场效果 4.4.9 设置网页分级 4.5 元数据纲要和元数据架构 4.5.1 使用元数据纲要(profile属性) 4.5.2 使用元数据架构(scheme属性) 4.6 巩固与自测 第5章 文字与段落 5.1 结构化的文本 5.1.1 用于强调...

    JAVA上百实例源码以及开源项目

     Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像...

Global site tag (gtag.js) - Google Analytics