`
sillycat
  • 浏览: 2552723 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SOAP得Axis2的使用(一)create client code

    博客分类:
  • JAVA
阅读更多
SOAP得Axis2的使用(一)create client code

首页
http://ws.apache.org/axis2/

create client guide
http://ws.apache.org/axis2/1_5_1/userguide-creatingclients.html#createclients

拷贝下载的axis2到工作目录,配置
AXIS2_HOME=F:\book\opensource\axis2\axis2-1.5.1

然后在命令行里面输入
wsdl2java -help
就看到很多参数,我具体使用的如下:
wsdl2java -uri http://192.168.1.149:8080/easyaxis/services/WeatherService?wsdl -o ./ -p com.sillycat.easycxfclient -t
其中
-uri    指明了WSDL文件的路径
-o      指明了生成文件的路径
-p      指明了生成的包名
-t       生成了测试用例,我用来先测试验证一下的:)
查看了一下测试用例里面的代码,WeatherServiceTest.java,构造stub,然后通过stub调用WS
com.sillycat.easycxfclient.WeatherServiceStub stub =
          new com.sillycat.easycxfclient.WeatherServiceStub();//the default implementation should point to the right endpoint
com.sillycat.easycxfclient.WeatherServiceStub.SetWeather setWeather10=
                  (com.sillycat.easycxfclient.WeatherServiceStub.SetWeather)getTestObject(com.sillycat.easycxfclient.WeatherServiceStub.SetWeather.class);
stub.setWeather(setWeather10);   

仔细看了一下WeatherServiceStub.java这个生成的CODE里面的代码,里面的构造函数可以传递endpoint的地址,这样也就比较灵活了:
public WeatherServiceStub(java.lang.String targetEndpoint) throws org.apache.axis2.AxisFault {
        this(null,targetEndpoint);
}

为了以后生成代码方便,不用每次都去open一个cmd窗口,所以我看了一下wsdl2java.bat里面的脚本,发现它调用的是这个类:
org.apache.axis2.wsdl.WSDL2Java
的main方法。另外要使用这个类,需要先倒入这个JAR:
<dependency org="org/apache/axis2" name="axis2-codegen" rev="1.5.1" />
<dependency org="org/apache/axis2" name="axis2-adb-codegen" rev="1.5.1" />

我自己写了个简单的JAVA APP去调用WSDL2Java,代码如下GenerateJavaFromWsdl.java:
package com.sillycat.gen;

import org.apache.axis2.wsdl.WSDL2Java;

public class GenerateJavaFromWsdl {
public static void main(String[] args){
StringBuffer sb = new StringBuffer();
sb.append("-uri http://192.168.1.149:8080/easyaxis/services/WeatherService?wsdl ");
sb.append("-o E:/work/easyaxisweather/ ");
sb.append("-p com.sillycat.axis2.weather.client");
try {
WSDL2Java.main(sb.toString().split(" "));
} catch (Exception e) {
e.printStackTrace();
}
}
}

我的测试用例WeatherServiceTest.java:
@Test
public void weatherServiceStub() throws RemoteException {
String url = "http://192.168.1.149:8080/easyaxis/services/WeatherService.WeatherServiceHttpSoap12Endpoint/";
WeatherServiceStub stub = null;
stub = new WeatherServiceStub(url);
// set weather
SetWeather setWeather = new SetWeather();
com.sillycat.axis2.weather.client.WeatherServiceStub.Weather weather = new   com.sillycat.axis2.weather.client.WeatherServiceStub.Weather();
weather.setTemperature((float) 39.3);
weather.setForecast("Cloudy with showers");
weather.setRain(true);
weather.setHowMuchRain((float) 4.5);
setWeather.setWeather(weather);
stub.setWeather(setWeather);
// get weather
GetWeatherResponse result = stub.getWeather();
com.sillycat.axis2.weather.client.WeatherServiceStub.Weather result_weather = result
.get_return();
// Displaying the result
System.out.println("Temperature               : "
+ result_weather.getTemperature());
System.out.println("Forecast                  : "
+ result_weather.getForecast());
System.out.println("Rain                      : "
+ result_weather.getRain());
System.out.println("How much rain (in inches) : "
+ result_weather.getHowMuchRain());
}

其实发现,这种方式去调用webservice,其实也不必API的方式麻烦,也是一个很好用的方法。呵呵。

分享到:
评论

相关推荐

    axis2 soap技术

    Axis2是一款开源的Web服务框架,主要用于构建基于SOAP协议的服务端应用。它支持多种传输协议(如HTTP、JMS等)以及多种数据编码方式(如XML、JSON等)。Axis2在Java平台上提供了强大的功能和灵活性,使得开发人员...

    SOAP生成使用的AXIS2

    通过以上步骤,AXIS2和IDEA的结合使得SOAP服务的开发变得高效且直观。了解如何正确配置和使用AXIS2是Java开发者在处理SOAP通信时的关键技能,这有助于提高开发效率,并确保服务的稳定性和可靠性。

    SOAP调用Axis服务的Client

    - `TestClient.java`通常是生成的Stub类中的一个示例客户端程序,展示了如何使用这个客户端来调用SOAP服务。 - 文件可能包含如下内容:初始化Stub对象、设置服务URL、调用服务方法、处理返回结果等步骤。 - 具体...

    client_axis.rar_AxisClient_axis client_axis.client_webservice客户端

    总结起来,这个名为"client_axis"的压缩包提供了一个基于Apache Axis实现的Web服务客户端,它可以用来与符合SOAP协议的Web服务进行交互。开发人员只需要正确配置,即可通过该客户端调用远程服务,实现跨系统、跨平台...

    Java Webservice Axis2 Client(含soapheader验证)

    本教程将深入探讨如何在Java中使用Axis2构建一个包含SOAP Header验证的客户端。 首先,理解SOAP Header至关重要。SOAP Header是SOAP消息的一部分,用于传递非处理信息,如认证、交易、安全等。与SOAP Body不同,...

    SOAP Axis 三种发布调用方式简单实例

    Axis是Apache软件基金会开发的一个开源工具,专门用于实现SOAP协议,它提供了在Java平台上创建和使用Web服务的能力。本实例主要探讨了使用Axis进行SOAP Web服务发布的三种方法以及如何进行调用。 1. **命令行发布...

    SOAP与AXIS2入门教程附带实例

    总结起来,SOAP与AXIS2是Web服务领域的重要组成部分,通过AXIS2,你可以轻松地创建、部署和使用SOAP服务。本教程将帮助初学者快速上手,通过实例实践,掌握AXIS2的基本用法,为后续的Web服务开发打下坚实基础。

    Axis2_Code_Generator.zip

    标题 "Axis2_Code_Generator.zip" 暗示了这是一个与Apache Axis2相关的代码生成工具。Apache Axis2是Java环境中广泛使用的Web服务框架,它允许开发者创建、部署和管理Web服务。这个压缩包可能包含了用于自动生成Axis...

    SOAP的Client调用Axis服务

    OMElement是Apache Axis2中的一个关键类,用于构建和操作XML文档,它是构建SOAP消息的基础。至于上传下载实现,这可能涉及到文件传输的场景,客户端可能需要将文件数据转换为SOAP消息的一部分,服务端则负责接收和...

    axis生成client的必备jar

    在IT行业中,当我们谈论"axis生成client的必备jar"时,我们实际上是在讨论使用Apache Axis框架来创建Web服务客户端的过程。Apache Axis是一个开源工具,它允许开发者通过Java语言轻松地创建、部署和使用Web服务。在...

    Axis2 webservice Client plugin

    标题中的“Axis2 WebService Client plugin”指的是一个用于MyEclipse集成开发环境的插件,其主要功能是帮助开发者创建和使用Axis2 Web服务客户端。Axis2是Apache软件基金会的一个开放源码项目,是一个高性能、灵活...

    soap+axis+tomcat

    Apache Axis 是一个开源的Web服务开发工具,它允许开发者创建和部署SOAP(简单对象访问协议)服务。SOAP是一种用于在Web上传输结构化信息的协议,通常与Web服务结合使用。Tomcat则是一个流行的Java Servlet容器,常...

    Axis2 code generator

    Axis2 code generator + backport-util-concurrent-3.1.jar 版本:1.3.0 解压缩后,放到eclipse的plugins文件夹下。 重新打开eclipse,new-&gt;other 就能看到插件了 出现这个错误的话: An error ocurred while ...

    基于axis2实现的webservice简单实现(客户端+服务端)。

    2. **Axis2Client**:可能包含了客户端的代码,如生成的服务代理类、调用服务的示例程序等。 总的来说,这个压缩包提供了一个完整的基于Axis2的Web服务实现示例,包括服务端创建服务和客户端调用服务的所有必要组件...

    axis2-1.8.0apache-cxf-3.4.4.rar

    Apache Axis2是Apache软件基金会开发的一个SOAP(简单对象访问协议)引擎,它是一个完整的Web服务框架。该框架提供了一种高效、灵活的方式来创建和部署Web服务。Axis2的核心功能包括: 1. **SOAP处理**:Axis2能够...

    axis,soap,rpc最新API

    axis,soap,rpc最新API axis,soap,rpc最新API axis,soap,rpc最新API axis,soap,rpc最新API axis,soap,rpc最新API axis,soap,rpc最新API

    axisclient

    标题“AxisClient”指的是Apache Axis的一个客户端工具,它在Java世界中被广泛用于构建和部署Web服务。Apache Axis是开源的SOAP(简单对象访问协议)处理框架,它为开发人员提供了一种简单的方法来实现SOAP服务,...

    基于SOAP的一卡通充值查询系统(axis2)

    Axis2是Apache组织开发的一个开源Web服务引擎,它是基于SOAP协议的,用于构建和部署Web服务。Axis2提供了高性能、灵活且模块化的架构,支持多种编程模型,如Java代码、WSDL第一和第二样式。它包含了处理SOAP消息、...

    axis2 Axis2_Code_Generator Axis2_Service_Archiver

    标题 "Axis2_Code_Generator Axis2_Service_Archiver" 指的是Apache Axis2框架中的两个关键工具,用于简化Web服务开发过程。Apache Axis2是一个高效、可扩展且灵活的Web服务引擎,它构建在Apache Axis之上,提供了更...

    axis2-1.7.9.zip

    "axis2-1.7.9.zip" 是一个包含Apache Axis2 1.7.9版本的二进制发行版的压缩文件。Apache Axis2是一个成熟的、高性能的Web服务引擎,用于创建和部署Web服务。它是Apache SOAP项目的下一代,专注于提供更强大的功能和...

Global site tag (gtag.js) - Google Analytics