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);
}
}
测试效果图:
分享到:
相关推荐
描述了axis2如何发布webservice,如果是用MyEclipse来发布,需要安装插件,把你发布后的.aar文件放 入/web/WEB-INF/services/目录中就能被访问和调用,有点繁琐,但axis2功能十分强大,方法的返回类型不仅可 以用...
标题中的“axis”和“xfire”是两个不同的Java Web Service框架,它们允许开发者创建和消费Web服务。本文将深入探讨这两个框架以及如何配置它们来实现Web服务。 **Axis** Axis是Apache软件基金会的一个开源项目,...
【描述】:虽然有多种Web服务技术,如XFire、CXF和JAX-WS,但Axis2以其易用性和与Spring的无缝集成而备受青睐。通过 Axis2,开发者可以快速地创建和部署Web服务,同时利用Spring的强大功能进行依赖注入和事务管理。 ...
Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种新一代的 WebService 平台,它...
【Spring + Axis2 + XFire 整合的Web Service】是一种在Java环境下构建Web服务的解决方案,它结合了Spring框架的灵活性和Axis2、XFire的Web服务处理能力。Web服务是一个基于开放标准的分布式计算模型,允许不同系统...
总之,"Xfire客户端调用webservice jar包"涉及到的是Java技术栈中Web服务客户端的实现,包括使用特定的jar包来实现与服务器的通信,以及如何有效地调用和处理Web服务接口的细节。这个过程需要对Java编程、Web服务...
我们将通过一个详细实例来阐述整个过程,包括Web服务的发布和客户端调用。 一、 Axis1.4简介 Axis1.4是Apache软件基金会的一个项目,它为Java开发者提供了一套全面的工具,使得开发、部署和调用Web服务变得简单。它...
在描述中提到了一个博客链接,虽然具体内容无法查看,但通常博主会分享如何使用Xfire或Axis2来创建和部署Web服务,可能包括配置步骤、示例代码和常见问题解答。这些资源对于初学者和开发者来说是非常宝贵的参考资料...
【WebService Axis和XFire(CXF)的开发流程】 在IT领域,WebService是一种基于XML的通信标准,用于构建分布式系统中的应用程序接口(API)。本篇主要介绍两种常用的WebService框架——Axis和XFire(现已被CXF合并)...
XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程...
本篇文章详细介绍了WebService的基本概念和AXIS、XFire、CXF这三个流行的Java WebService框架,以及授权认证和加密解密在WebService中的应用。这些内容对于理解和实践WebService开发具有重要价值,为开发者提供了...
假设你已经下载了一个名为`webservice`的压缩包,里面可能包含了Axis2和CXF的相关jar包,以及示例代码或者配置文件。要创建一个基本的Web服务,你需要按照以下步骤操作: 1. **创建服务接口**:定义一个Java接口,...
最近项目中遇到需要去掉老系统的webservice服务中的insert方法,找了很久,发现这样最简单,实测有效!!!
标题 "Axis 自动生成WebService" 涉及到的是在IT行业中创建和使用Web服务的一个关键工具——Axis。Web服务是一种基于互联网的软件应用,允许不同系统之间的数据交换,通常使用XML作为数据格式,SOAP协议进行通信。...
【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...
Java 调用 Webservice 的几种方法总结中,主要介绍了使用 JDK Web 服务 API、Axis 和 XFire 等方法来调用 Webservice。下面将对每种方法进行详细的介绍。 使用 JDK Web 服务 API 使用 JDK Web 服务 API 可以实现...
而"Axis1[1].4+开发指南_V1.0.pdf"则可能详细介绍了Axis1.4版本的使用,包括设置开发环境,创建和发布服务,调用远程服务,以及处理异常和安全问题。 在深入学习这两个框架时,开发者应理解它们的原理,熟悉配置和...
本文将深入探讨在Java环境中调用WebService的五种主要方式:Axis、CXF、HttpClient、MyEclipse反向生成以及XFire。 1. Axis:Apache Axis是最早且广泛使用的SOAP库,用于创建和消费Web服务。使用Axis调用WebService...
相比Axis,Xfire的使用更加直观,使得开发者能更快地上手并进行Web服务的开发和调用。本教程将深入探讨Xfire如何实现Web服务的创建、部署以及客户端调用,同时提供实例代码供学习参考。 **1. Xfire简介** Xfire是...
Axis2 提供了两种发布 WebService 的方式:打包发布和不打包发布。本文主要介绍不打包发布的方式,这种方式类似于 XFire,适用于遇到兼容性问题的情况。 **步骤详解:** 1. **添加 JAR 包:** - 从 Axis2 的 WAR ...