`
worldllg
  • 浏览: 6383 次
  • 性别: Icon_minigender_1
  • 来自: 赣州
文章分类
社区版块
存档分类
最新评论

axis2 调用webService(包含用axis2和xfire发布的)实例,加注释

阅读更多
Axis2下发布的webServcie服务端:
HelloWorld.java:

public class HelloWorld{
     public String getName(String name)
     {
         return "你好 " + name;
     }   
     public int add(int a,int b)
     {
        return a+b;
     }   
}

以及myEclipse下用Xfire发布的webService服务端:
simpleWebService.java:

public class hello {
    public String sayHello(String name){
        return "Hello "+name; 
       }
}

怎么发布的服务(webService)请参考:
http://blog.csdn.net/nirvanafeng/archive/2009/04/05/4049779.aspx
http://ningkun.iteye.com/blog/252534
或百度+google 。

下面是服务调用客户端(可在eclipse或myEclipse下开发,第三方包只要把axis2的lib目录下所有包导入即可,有很多包是不需要的,有待研究~):
QuickStartClient.java:
import java.util.Iterator;
import javax.xml.namespace.QName;
    import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

public class QuickStartClient {

//调用axis2下HelloWorld服务的add操作
public int add(int x,int y)
{
int sum=0;
//webService的调用地址
String srvcUrl = "http://localhost:8080/axis2/services/HelloWorld";
//操作的命名空间+“:”+操作名
QName qname = new QName("http://ws.apache.org/axis2", "add");
//传递的参数对象集
Object param[] = new Object[] {x,y};
try {
//实例化远程服务调用客户端对象
RPCServiceClient client = new RPCServiceClient();
//实例化Options对象
Options options = new Options();
//设置Options对象的连接终端地址
options.setTo(new EndpointReference(srvcUrl));
//设置Options对象的操作事件对象
options.setAction("urn:add");
//为远程服务调用客户端对象设置Options子对象
client.setOptions(options);
//传递参数,调用服务,获取服务返回结果集
OMElement element = client.invokeBlocking(qname, param);
//获取返回结果集中第一条结果的返回内容
String result=element.getFirstElement().getText();
//字符串转换为整型
sum= Integer.parseInt(result); 
}
//捕捉异常
catch (AxisFault e) {
e.printStackTrace();
}
//返回内容
return sum;
}
/*//调用axis2下HelloWorld服务的getName操作
public String sayHello(String name)
{
String result=null;
String srvcUrl = "http://localhost:8080/axis2/services/HelloWorld";
QName qname = new QName("http://ws.apache.org/axis2", "getName");
Object param[] = new Object[] { name };
try {
RPCServiceClient client = new RPCServiceClient();
Options options = new Options();
options.setTo(new EndpointReference(srvcUrl));
options.setAction("urn:getName");
client.setOptions(options);
OMElement element = client.invokeBlocking(qname, param);

result=element.getFirstElement() .getText();

}
catch (AxisFault e) {
e.printStackTrace();
}
return result;
}*/

//调用XFire下的HelloWordService服务的sayHello操作(具体操作同add())
public String sayHello(String name)
{
String result=null;
String srvcUrl = "http://localhost:8080/simpleWebService/services/HelloWordService";
QName qname = new QName("http://ws.apache.org/axis2", "sayHello");
Object param[] = new Object[] { name };
try {
RPCServiceClient client = new RPCServiceClient();
Options options = new Options();
options.setTo(new EndpointReference(srvcUrl));
options.setAction("urn:sayHello");
client.setOptions(options);
OMElement element = client.invokeBlocking(qname, param);

result=element.getFirstElement() .getText();

}
catch (AxisFault e) {
e.printStackTrace();
}
return result;
}

//测试
public static void main(String[] args) {

QuickStartClient client=new QuickStartClient();
int num=client.add(12,35);
String hello=client.sayHello("feeler!");
System.out.println(num);
System.out.println(hello);
}
}

测试效果图:



0
1
分享到:
评论

相关推荐

    Axis2发布和调用webservice

    描述了axis2如何发布webservice,如果是用MyEclipse来发布,需要安装插件,把你发布后的.aar文件放 入/web/WEB-INF/services/目录中就能被访问和调用,有点繁琐,但axis2功能十分强大,方法的返回类型不仅可 以用...

    axis和xfire配置webService的源代码

    标题中的“axis”和“xfire”是两个不同的Java Web Service框架,它们允许开发者创建和消费Web服务。本文将深入探讨这两个框架以及如何配置它们来实现Web服务。 **Axis** Axis是Apache软件基金会的一个开源项目,...

    用axis2搭建webservice

    【描述】:虽然有多种Web服务技术,如XFire、CXF和JAX-WS,但Axis2以其易用性和与Spring的无缝集成而备受青睐。通过 Axis2,开发者可以快速地创建和部署Web服务,同时利用Spring的强大功能进行依赖注入和事务管理。 ...

    Axis1,Axis2,Xfire,CXF区别

    Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种新一代的 WebService 平台,它...

    spring+axis2_xfire整合的webservice

    【Spring + Axis2 + XFire 整合的Web Service】是一种在Java环境下构建Web服务的解决方案,它结合了Spring框架的灵活性和Axis2、XFire的Web服务处理能力。Web服务是一个基于开放标准的分布式计算模型,允许不同系统...

    Xfire客户端调用webservice jar包

    总之,"Xfire客户端调用webservice jar包"涉及到的是Java技术栈中Web服务客户端的实现,包括使用特定的jar包来实现与服务器的通信,以及如何有效地调用和处理Web服务接口的细节。这个过程需要对Java编程、Web服务...

    axis1.4开发webservice详细实例

    我们将通过一个详细实例来阐述整个过程,包括Web服务的发布和客户端调用。 一、 Axis1.4简介 Axis1.4是Apache软件基金会的一个项目,它为Java开发者提供了一套全面的工具,使得开发、部署和调用Web服务变得简单。它...

    webservice (xfire,axis2)

    在描述中提到了一个博客链接,虽然具体内容无法查看,但通常博主会分享如何使用Xfire或Axis2来创建和部署Web服务,可能包括配置步骤、示例代码和常见问题解答。这些资源对于初学者和开发者来说是非常宝贵的参考资料...

    WebService Axis和XFire(CXF)的开发流程

    【WebService Axis和XFire(CXF)的开发流程】 在IT领域,WebService是一种基于XML的通信标准,用于构建分布式系统中的应用程序接口(API)。本篇主要介绍两种常用的WebService框架——Axis和XFire(现已被CXF合并)...

    xfire教程+axis+webservice

    XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程...

    webservice axis2 cxf jar包及简单实例

    假设你已经下载了一个名为`webservice`的压缩包,里面可能包含了Axis2和CXF的相关jar包,以及示例代码或者配置文件。要创建一个基本的Web服务,你需要按照以下步骤操作: 1. **创建服务接口**:定义一个Java接口,...

    WebService详细解析(axis,xfire,cxf,授权认证加密解密)

    本篇文章详细介绍了WebService的基本概念和AXIS、XFire、CXF这三个流行的Java WebService框架,以及授权认证和加密解密在WebService中的应用。这些内容对于理解和实践WebService开发具有重要价值,为开发者提供了...

    springboot动态调用webservice接口

    最近项目中遇到需要去掉老系统的webservice服务中的insert方法,找了很久,发现这样最简单,实测有效!!!

    Axis 自动生成WebService

    标题 "Axis 自动生成WebService" 涉及到的是在IT行业中创建和使用Web服务的一个关键工具——Axis。Web服务是一种基于互联网的软件应用,允许不同系统之间的数据交换,通常使用XML作为数据格式,SOAP协议进行通信。...

    XFire建立Webservice实例,入门级别,适合初学者

    【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...

    java 调用webservice的几种方法总结

    Java 调用 Webservice 的几种方法总结中,主要介绍了使用 JDK Web 服务 API、Axis 和 XFire 等方法来调用 Webservice。下面将对每种方法进行详细的介绍。 使用 JDK Web 服务 API 使用 JDK Web 服务 API 可以实现...

    WebService-xfire和axis开发指南

    而"Axis1[1].4+开发指南_V1.0.pdf"则可能详细介绍了Axis1.4版本的使用,包括设置开发环境,创建和发布服务,调用远程服务,以及处理异常和安全问题。 在深入学习这两个框架时,开发者应理解它们的原理,熟悉配置和...

    WebService调用的几种方式

    本文将深入探讨在Java环境中调用WebService的五种主要方式:Axis、CXF、HttpClient、MyEclipse反向生成以及XFire。 1. Axis:Apache Axis是最早且广泛使用的SOAP库,用于创建和消费Web服务。使用Axis调用WebService...

    Xfire 开发webservice与客户端调用教程与实例

    相比Axis,Xfire的使用更加直观,使得开发者能更快地上手并进行Web服务的开发和调用。本教程将深入探讨Xfire如何实现Web服务的创建、部署以及客户端调用,同时提供实例代码供学习参考。 **1. Xfire简介** Xfire是...

    webservice发布及调用

    Axis2 提供了两种发布 WebService 的方式:打包发布和不打包发布。本文主要介绍不打包发布的方式,这种方式类似于 XFire,适用于遇到兼容性问题的情况。 **步骤详解:** 1. **添加 JAR 包:** - 从 Axis2 的 WAR ...

Global site tag (gtag.js) - Google Analytics