WebService学习之旅使用Apache Axis2实现WebService客户端调用

Posted 江荣波

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebService学习之旅使用Apache Axis2实现WebService客户端调用相关的知识,希望对你有一定的参考价值。

上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户端调用辅助类,并实现客户端调用代码的编写。

1.將前面下载的axis2-1.7.1-bin.zip解压,新建一个环境变量AXIS2_HOME,值为解压后目录路径。接着在path变量中添加%AXIS2_HOME%/bin;。

2.Eclipse中新建一个Java Project,打开Windows控制台进入工程根目录,输入命令:

wsdl2java -uri http://localhost:8080/axis2/services/HelloWorld?wsdl

3.刷新工程,可以看到axis2的wsdl2java工具为我们生成两个类。
技术分享

4.Java类中有错误,我们需要將axis2解压后lib目录下的所有Jar包添加到工程classpath下。

5.编写客户端调用代码,内容如下:

package com.csdn.ws.axis2.recipe01.client;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import com.csdn.ws.axis2.recipe01.HelloWorldStub;

public class Client {
    public static void main(String[] args) {
        try {
            HelloWorldStub stub = new HelloWorldStub();//创建HelloWorldStub对象
            HelloWorldStub.SayHello sayHello = new HelloWorldStub.SayHello();//创建SayHello对象
            sayHello.setArgs0("Jane");//设置参数
            HelloWorldStub.SayHelloResponse resp = stub.sayHello(sayHello);
            System.out.println(resp.get_return());
        } catch (AxisFault e) {
            e.printStackTrace();
        } catch (RemoteException e) {
            e.printStackTrace();
        }

    }
}

6.运行程序控制台输出WebService返回内容:

hello,Jane

7.完整项目结构如下图所示:
技术分享

一个简单的客户端调用实例就演示完了,下节介绍Axis2发布WebService的几种方式。



以上是关于WebService学习之旅使用Apache Axis2实现WebService客户端调用的主要内容,如果未能解决你的问题,请参考以下文章

webservice 菜鸟探索之旅

WCF探索之旅——WCF与WebService的异同

WebService学习总结——调用第三方提供的webService服务,使用cxf

用C#访问Dynamic AX的WebService.

我的机器学习之旅:回归与工程应用

Eclipse + Apache Axis2 发布RESTful WebService基础知识