webservice入门1(转)

 

从今天开始我将学习 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 文件,下载之后 copytomcat/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
的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值