`
waitgod
  • 浏览: 19006 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

Axis2生成Web Service的客户端

阅读更多
Axis2生成Web Service的客户端


用Axis2的客户端自动生成功能,生成了一个客户端。
具体操作如下(Window XP):
1、下载解压缩axis2。前提是已经安装好了jdk并设置好了JAVA_HOME系统变量。
2、添加 AXIS2_HOME系统变量,同时把bin目录放在path中。
3、到提供web service的网址下在wsdl,我使用的例子是http://www.webservicex.net/globalweather.asmx?WSDL,这里要注意,因为我们可以看到,每行前面都有一个短线,所以需要我们查看源代码,然后把源代码保存为weather.wsdl。
4、然后在工程目录下,运行以下DOS命令
>WSDL2Java -uri resources/weatherservice.wsdl -p src -d xmlbeans -s -o build/client
这是我们就可以看到Axis2生成了很多文件和文件夹,这里就不一一介绍,有兴趣地可以自己研究一下。
为了测试生成的结果,我们继续以下的步骤,而在开发过程中,就应该根据自己的实际项目,进行处理。
5、在刚才声称目录的文件夹中建立Eclipse工程。把Axis2的库引入到项目中。这时,应该项目中没有错误。
6、把resources目录包含的项目的类目录中。
7、找到GlobalWeatherStub类,在其中添加main方法如下:

    static public void main(String[] args)...{
        try...{
            GlobalWeatherStub sws = new GlobalWeatherStub();
            GetCitiesByCountryDocument gcbcd = GetCitiesByCountryDocument.Factory.newInstance();
            gcbcd.addNewGetCitiesByCountry();
            gcbcd.getGetCitiesByCountry().setCountryName("china");
            GetCitiesByCountryResponseDocument response = sws.GetCitiesByCountry(gcbcd);
            System.out.println(response.getGetCitiesByCountryResponse().getGetCitiesByCountryResult());
        }catch(AxisFault af)...{
            af.printStackTrace();
        }catch(RemoteException re)...{
            re.printStackTrace();
        }
    }

axis2 客户端调用三种方法
方法一:
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(
                "http://localhost:8080/axis2/services/AddressBookService");
options.setTo(targetEPR);
QName opAddEntry = new QName("http://service.addressbook.sample", "addEntry");
Object[] opAddEntryArgs = new Object[] { entry };
serviceClient.invokeRobust(opAddEntry, opAddEntryArgs);
方法二:
public static OMElement getEchoOMElement() {
        OMFactory fac = OMAbstractFactory.getOMFactory();
        OMNamespace omNs = fac.createOMNamespace(
                "http://example1.org/example1", "example1");
        OMElement method = fac.createOMElement("echo", omNs);
        OMElement value = fac.createOMElement("Text", omNs);
        value.addChild(fac.createOMText(value, "Axis2 Echo String "));
        method.addChild(value);
        return method;
    }
public static void main(String[] args) {
        try {
           OMElement payload = ClientUtil.getEchoOMElement();
            Options options = new Options();
          
            options.setTo(targetEPR);
            options.setAction("urn:echo");
            //Blocking invocation
            ServiceClient sender = new ServiceClient();
            sender.setOptions(options);
            OMElement result = sender.sendReceive(payload);
            System.out.println(result);
          
            System.out.println(options.getTo());
        } catch (AxisFault axisFault) {
            axisFault.printStackTrace();
        }
    }
方法三:
利用插件生成客户端
private static String URL="http://localhost:8080/axis2/services/WeatherService"; 
    public static void main(String[] args) throws RemoteException {
        try {
            WeatherServiceStub stub;
            if (args != null && args.length != 0) {
                stub = new WeatherServiceStub(args[0]);
              
            } else {
                stub = new WeatherServiceStub(URL);
            }
            WeatherServiceStub.SetWeather setWether = new WeatherServiceStub.SetWeather();
            WeatherServiceStub.Weather wether = new WeatherServiceStub.Weather();
          
            wether.setForecast("east");
            wether.setRain(true);
            wether.setTemperature(12.3f);
            wether.setForecast("big");
          
            setWether.setWeather(wether);
            stub.setWeather(setWether);
          
            WeatherServiceStub.GetWeatherResponse gw = new WeatherServiceStub.GetWeatherResponse();
            System.out.println(gw.get_return());       
          
        } catch (AxisFault e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


分享到:
评论

相关推荐

    eclipse 生成 Axis2 Web Service 客户端

    接下来,我们将按照以下步骤来生成Axis2 Web Service客户端: ##### 1. 创建动态Web项目 - 打开Eclipse,选择“File”菜单中的“New”选项,然后选择“Dynamic Web Project”。 - 在弹出的对话框中输入项目名称,...

    AXIS2生成客户端代码教程.zip

    AXIS2是一个流行的开源Web服务框架,用于创建和部署SOAP(简单对象访问协议)服务以及生成客户端代码。在本文中,我们将深入探讨如何利用AXIS2在MyEclipse环境中生成客户端代码,以便与Web服务进行交互。这个过程...

    基于Axis的Web Service客户端调用

    【标题】基于Axis的Web Service客户端调用 在IT领域,Web Service是一种通过网络进行通信的标准协议,它允许不同系统间的应用程序互相交换数据。而Apache Axis是Java平台上的一个开源工具,专门用于创建和部署Web ...

    WEB Service 客户端代码生成器(Axis)

    一般我们都是在命令行下用WSDL2Java工具生成WEB Service 客户端代码,繁琐的Java环境变量,以及命令行参数很容易出错,为了提高效率,我用Swing做了一个图形界面生成器,输入WSDL地址(可以是本地路径或远程地址)...

    axis2 1.6.2 生产wsdl客户端代码

    本文将详细介绍如何使用Axis2 1.6.2版本来生成基于WSDL的Web服务客户端代码。 首先,了解WSDL(Web Service Description Language)是什么至关重要。WSDL是一种XML格式的规范,用于描述Web服务及其接口。它定义了...

    使用axis1生成stub客户端样例

    本示例将详细介绍如何使用Axis1生成Stub客户端,以便与Web服务进行交互。 首先,让我们理解什么是Stub客户端。Stub是模拟服务器行为的本地代理,它允许客户端代码在没有实际连接到服务器的情况下进行测试或调用服务...

    用脚本生成axis2的客户端

    标题中的“用脚本生成axis2的客户端”指的是在IT领域中使用自动化脚本来创建Axis2 Web服务的客户端。Axis2是Apache软件基金会开发的一个Web服务框架,它提供了丰富的功能来构建和部署Web服务。这个过程可以极大地...

    axis生成webservice服务端和客户端详细说明及实例

    二、 Axis生成Web服务客户端 1. 获取WSDL 从服务端获取WSDL文件,或者如果已经拥有,可以直接使用。 2. 生成客户端代码 使用Axis的`wsdl2java`命令生成客户端代码: ``` wsdl2java -client -d . ...

    用axis2开发web service

    3. **生成Web服务(Service)**: - 需要安装Axis2的自动代码生成插件,以便在Eclipse中创建Web服务。 - 创建一个新的Java项目,如`HelloWorld`,并在项目中定义一个包`cn.xupt.edu.soa`,以及一个名为`HelloWorld...

    axis根据服务端wsdl生成客户端工具

    3. **生成客户端工具**:在 Axis 中,通过 WSDL2Java 工具,我们可以根据服务端的 WSDL 文件自动生成客户端 stub 类。这些 stub 类包含了调用服务所需的所有方法,使得客户端开发人员无需手动编写与服务交互的代码,...

    axis插件生成客户端

    3. 使用Axis插件生成客户端:在命令行中,你可以使用Axis的wsdl2java工具,输入Web服务的WSDL URL或本地WSDL文件路径,该工具会自动生成对应的客户端Java stubs(存根类)。这些存根类包含了调用Web服务所需的所有...

    axis2(web service接口文件生成工具)

    在本文中,我们将深入探讨Axis2的核心功能、工作原理以及如何使用它来生成Web服务接口文件。 1. Axis2概述 Axis2是基于AXIOM(Abstract XML Information Model)和Axis1.x的升级版,提供了一种更高效、灵活和模块化...

    axis2根据wsdl生成客户端代码

    本篇将详细讲解如何利用Axis2根据WSDL(Web服务描述语言)文件生成客户端代码。 WSDL是一种XML格式的规范,它定义了Web服务的接口,包括服务提供的操作、输入和输出消息的结构,以及服务的位置。在 Axis2 中,我们...

    使用Eclipse的Axis1.4插件开发Web Service及客户端

    - 创建一个新的Java项目,例如`AxisClientDemo`,用于生成Web Service客户端代码。 - 使用Eclipse的`新建 Web Service Client`向导,输入服务的WSDL地址(即`...

    基于Tomcat5.0和Axis2开发Web Service应用实例

    【标题】基于Tomcat5.0和Axis2开发Web Service应用实例 在Web服务的世界里,Axis2是一个高效且强大的工具,它允许开发者创建、部署和使用SOAP Web服务。本教程将详细介绍如何利用Apache Tomcat 5.0作为应用服务器,...

    axis2服务发布与客户端代码示例

    标题 "Axis2服务发布与客户端代码示例" 涉及到的是Apache Axis2框架下如何创建和调用Web服务的实践。Apache Axis2是一个强大的Web服务引擎,它基于SOAP协议,用于构建和部署Web服务。这篇博客文章可能提供了一个实际...

    使用axis自动生成webservice客户端代码.pdf

    在本文档中,我们将深入探讨如何使用 AXIS 自动生成 Web Service 客户端代码,以便简化开发流程。 1. **AXIS 工具介绍** AXIS 是 Apache 软件基金会的一个项目,它提供了对 SOAP 协议的支持,允许开发者轻松地创建...

    axis2支持webservice 自动生成代码客户端服务端代码插件

    标题提及的“axis2支持webservice 自动生成代码客户端服务端代码插件”,是指Apache Axis2为Eclipse IDE提供的一套工具,旨在简化Web服务的开发流程。这个插件允许开发者通过WSDL(Web Services Description ...

    用Axis2创建Web Service

    【Apache Axis2 创建 Web Service 知识点详解】 Apache Axis2 是一个强大的 Web Service 框架,由 Apache 软件基金会开发,主要用于构建和部署高性能、高效率的 Web Services。它基于 Java 语言,提供了全面的 Web ...

Global site tag (gtag.js) - Google Analytics