JAVA之WebService框架Xfire全解.docx

上传人:b****1 文档编号:345574 上传时间:2022-10-09 格式:DOCX 页数:17 大小:480.99KB
下载 相关 举报
JAVA之WebService框架Xfire全解.docx_第1页
第1页 / 共17页
JAVA之WebService框架Xfire全解.docx_第2页
第2页 / 共17页
JAVA之WebService框架Xfire全解.docx_第3页
第3页 / 共17页
JAVA之WebService框架Xfire全解.docx_第4页
第4页 / 共17页
JAVA之WebService框架Xfire全解.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JAVA之WebService框架Xfire全解.docx

《JAVA之WebService框架Xfire全解.docx》由会员分享,可在线阅读,更多相关《JAVA之WebService框架Xfire全解.docx(17页珍藏版)》请在冰豆网上搜索。

JAVA之WebService框架Xfire全解.docx

JAVA之WebService框架Xfire全解

JavaWebService框架之XFire使用说明

声明:

此文档只为做学习交流用,如果你有任何异议或更好的想法,欢迎你在群里讨论或者与我讨论!

希望能够帮到你!

WebService这个字眼,或许大家听起来,并不陌生,一般做过几年开发经验的程序员,几乎都跟它打过交道,首先,我要说明的是,WebService并不是java的特权,也就是说,并不是java只有WebService,.net有,C#有。

等等

不罗嗦,首先我得让大家知道,WebService是干嘛用的,从字面意思理解就是web服务,

其实,说白了,WebServices就是发布的、完成其特定需求的、在线应用服务。

其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

WebService的主要目标是跨平台的可互操作性。

他独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

(相关详细解释,大家可以XX的文库)

我举个例子,或许大家就明白了,我举个它的应用,

比如说,现在有这么一个需求:

WebService应用案例一:

张三传递给李四某个城市的名字比如说北京,李四反馈给张三北京的天气预报为:

晴,王五传递给李四的城市名字济南,李四反馈给王五济南的天气预报为:

阴;赵六传递给李四武汉。

等等。

但是,无论是谁想给李四传递城市的名字,必须遵循李四开放出来的一个发送地址,要不然你找不到李四,李四也收不到你的请求城市。

那么,在该示例中,无非就是想实现的一个功能就是,任何人传递给李四一个城市的相关名字,李四反馈给请求者该城市的天气情况,前提是,按照李四公布给大家的发送地址,那么,所有向李四发送请求城市的人,都会收到李四反馈的请求的城市的天气情况,那么这就是一个典型的webservice的调用,它与平台无关,跟每一个系统都无关,是独立的在线服务,那么,在此例中,每一个向李四发送请求的人,都是客户端,而李四所实现的接受城市,反馈回天气预报的功能,就是webservice的服务断,而李四提供的发送地址,就是大名鼎鼎的访问Webservice得到WSDL地址

 

再给大家举一个例子:

WebService应用案例二:

有两套系统,A系统为用。

Net语言开发的,B系统用java语言开发的,现在有一个需求,就是要实现A系统跟B系统之间的信息交互,那么此时,A系统,可以写一个。

Net的webService,之后,公布给B系统webservice的访问地址,那么B系统就可以访问A系统,而A系统如果想访问B系统的数据,那么B系统可以写一个java的webService,把地址告知给A系统,A系统就可以访问B系统的数据。

可能有的人会有疑问,貌似。

当前不同系统间交互数据都用XML么?

如果你能想到这,恭喜你,你已经跟设计webservice的人的想法一样了,呵呵。

因为它的描述WSDL就是xml

其实一般说到webservice,就是开发它的服务端,客户端,基本上没什么技术含量,按照某种格式调用就OK。

 

长篇大论了一番,我想,大家应该对WebService有个了解了,那么下面进入正题,Java的WebService框架,比较常用的有:

Axis,XFire,Cfx等,呵呵,因为之前搞过Axis,繁琐的配置,说实话真的不能让我爱上它,当我遇到XFire的时候,我才发现,原来,它可以让WebService如此简单,核心只需一个xml配置文件就全部搞定,因此我强烈推荐XFire,如果你是初学者,我更加强烈推荐

 

XFire是一款开源的JavaSOAP框架。

它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合,支持POJO和schema开发.XFire支持WebServicesstandards,Spring整合,下面就以此为例,先讲解借助Myeclipse的自动生成来介绍,当然你也可以手工去写。

下面通过一个简单的示例来讲解Xfire的使用。

首先说一下我的开发环境配置:

Myeclipse6.5+jdk1.5+tomcat6.0

 

步骤1:

选择File----New----WebServiceProject,创建项目如图:

 

步骤2:

输入项目的名字,Test_WebService(可以随意起),如图:

 

步骤3:

点击Next,进入如下界面,在此操作界面中,走默认即可,

.

其中

是Xfire的核心过滤器,用于拦截/services/*的请求,后面会详细说明,保持默认,点next

 

步骤4:

你将会看到这个窗口,这是让你选择Xfire的核心jar包,如图:

其中,

为Xfire的和核心类库,为必选,如果你开发的这个webservice用于本项目中的话,那你还需勾选

,当然,如果你仅仅是开发一个独立的WebService的话,那就没必要勾选

了。

在这咱开发一个独立的WebService,供任何一个项目可以调用它,只勾选第一项,点击Finish。

步骤5:

至此,WebService的整体骨架已经创建完毕了。

看一下左侧项目栏中,我们刚创建的该WebService的结构如图:

一次点开项目的层级文件夹,你会发现比普通的项目多了

,点开services.xml你会发现,什么都没有,这就对了,services.xml就是注册你的webservice方法用的,点开web.xml你发现多了这么几行代码:

这就是上面我提到的,Xfire的核心过滤器,上面走了默认,所以,这里看到的东西,就是跟上面你走默认的一样,如果你改了默认的信息的话,那么此处就为你更改了的信息了,当然,我还是建议大家走默认。

步骤6:

既然万事具备了,那么,咱们现在就开发一个WebSERVICE的服务类,在这,MyEclipse已经给提供了快捷的创建方式,爱死它了。

你可以在项目名字Test_WebService上右击选择:

步骤7:

在弹出的窗口中选择:

MyEclipse下的WebService下的WebService

点击Next

步骤8:

在打开的窗口中,

勾选

,借助Myeclipse通过javabean的形式来生成WebService

点击next

步骤9:

在打开的该窗口中,你只需填入:

,这就是将来你访问该WebService的名字了,当然建立好了以后,如果你又想改名字,可以在services.xml中改的,我借用了一下我的qq昵称的名字,呵呵Silentsoul。

你可以起你想要的名字,当然要遵循命名规范,做到见名知意。

底下的

会自动根据你填入的Webservicename的名字,自动填进去,在

中,这是让你选择,你要把创建的webservice类,放在哪个包中,此时,我还没有建立包,所以,咱们可以n点击New建立一个包,建好后,该窗口最后的样子为以下:

点击Finish

步骤10:

至此,创建webservice的步骤已经结束,此时再看,Test_WebServcie的结构:

你会发现,多了

,并且,services.xml中多了:

分别打开ISilent_Soul_Service,和Silent_Soul_ServiceImpl,你会发现,跟你所见到的普通的java类没有任何区别,ISilent_Soul_Service就是一个普通的接口,Silent_Soul_ServiceImpl是一个实现了ISilent_Soul_Service接口的类,恭喜你,看对了。

就是这么简单,Xfire让webservice就是这么简单,就是普通的javabean,只不过,在services.xml中,你要注册一下该类和接口为service。

,在servies.xml中,

这就是webservice的名字了,

就是接口,

为实现方法

 

步骤11:

此时你就可以在ISilent_Soul_Service接口中定义你想定义的方法,在Silent_Soul_ServiceImpl中做实现了,Myeclipse默认给生成了一个方法,example(Stringmessage),那么咱就在这个方法里,做个简单的实现,在Silent_Soul_ServiceImpl类中加入如下代码:

步骤12:

此时WebService全部创建完毕,恭喜你,你可以在任意一个项目中调用了。

为了方便,将其部署到Tomcat上,当然,你可以部署在任何一个服务器上,resin,weblogic。

你随便,跟部署普通的项目一样,如图:

步骤13:

启动Tomcat,启动成功后,打开浏览器,输入:

http:

//127.0.0.1:

8088/Test_WebService/services/Silent_Soul_Service?

wsdl你就能看见如下界面了:

恭喜你,如果你能看到该界面,已经证明,你的webservice是成功的。

在此说明一点,如果你的tomcat是6.0一下的版本的话,启动的时候会报错,不过不用担心,那是因为tomact6.0以下的版本,中有一个还是两个包,跟Xfire中带的包冲突,具体是哪个我记不清了,去掉冲突的包就Ok,再有就是,我建议大家如果你喜欢用Tomcat的话,那你就用5。

X以上的版本,因为tomcat算不上是个服务器,只能算是一个web的容器,但是它是从6.0以后,更加专注于服务器的,负载均衡能力肯定比低版本的要好。

分析一下这个访问地址:

http:

//127.0.0.1:

8088/Test_WebService这一部分很好理解,就是本机的服务器地址加项目的名字,后面的services/Silent_Soul_Service?

wsdl,这一块,其中services是固定的,因为你在你的web.xml中,定义的Xfire的过滤器,过滤的路径就是

/services/*,所以,你必须加上services,而Silent_Soul_Service?

wsdl,Silent_Soul_Service是你在services.xml中配置的webservice的名字了,后面跟一个?

wsdl这是固定的,也就是说,名字+?

wsdl了。

WSDL是WebService的描述语言。

也就是说,任何一个webservice的访问形式基本都是这样的,最后都是http:

//*******/webservice名字?

wsdl.

 

步骤13:

此时。

你可以随便在你的任何一个项目里调用了,但是,一定要记住,无论哪个项目中,你想调用的话,都得在要用到的项目中引入

这两个类库

步骤14:

为了演示,我随便见一个java的项目,当然,j2se的也可,J2EE项目也可,都可以。

我随便见一个普通的java项目,引入上面所说的两个类库,如图:

在HelloWebService中,我只加入一个main方法,如下:

其中:

URL:

填入访问你的webservice的地址,

invoke方法的第一个参数填入你要调用的方法的名字,第二个参数写入你要传递的参数

返回值为Object【】数组类型。

 

运行程序,你会在控制台看见如下:

恭喜你,成功了!

 

声明:

此说明文档,只提供入门操作,深入还得靠自己,靠山山倒,靠水水流,靠自己,永远不倒!

最后希望能够帮到你,少走弯路!

作者:

寒冰蓝血

2010-12-01

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1