webservice 小结之XFire

不好意思了。。虽然说尽快写好。。。但是最近在找工作。。。所以都不怎么上iteye了。。。今天补上。。其实我说的都是比较基础的东西。。但是很多地方大家可以自己深入了解的。好了。废话不说了。
这篇主要是讲下XFire的实例,同样是myeclipse。因为原理都差不多。所以我就只简单介绍下具体怎么做了。。
[b]XFire 概述[/b]
XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。
XFire 目前最新的版本是 1.2.6,目前支持的特性主要包括:
支持将 Web 服务绑定到 POJO、XMLBeans、JAXB1.1、JAXB2.0 和 Castor;
支持基于 HTTP、JMS、XMPP 等多种协议访问 Web 服务;
支持多种 Web 服务业界重要标准如 SOAP、WSDL、Web 服务寻址(WS- Addressing)、Web 服务安全(WS-Security)等;
支持 JSR181,可以通过 JDK5 配置 Web 服务;
高性能的 SOAP 实现;
服务器端、客户端代码辅助生成;
对 Spring、Pico、Plexus 等项目的支持等。

[b]Apache CXF[/b]
XFire在2007开发到1.2.6版本的时候,就与另一个开源项目Celtix (由IONA技术公司(现在是Progress的一部分)开发 )合并成为新的项目CXF,合并的工作是由apache领导的。CXF取得就是两个项目的首写字母。所以在XFire的官网上有这么一句话“XFire is now CXF”

[b]新建XFire Service[/b]
[img]http://dl.iteye.com/upload/attachment/0065/0054/13a6374b-860c-3ac5-85b3-d0693550c6d9.png[/img]
[b]文档结构图:[/b]
[img]http://dl.iteye.com/upload/attachment/0065/0056/4574fdc1-f43f-3d92-867b-d0f3b1c489da.png[/img]
可以看到Xfire其实也是一个普通的web程序,只不过添加对应的library和文件夹。其中webservices文件存放的是配置文件service.xml,这个文件在tomcat服务器发布的时候会自动转移到WEB-INF\classes\META-INF文件夹下。
[b]新建接口和对应实现类[/b]
[img]http://dl.iteye.com/upload/attachment/0065/0058/69aee4a8-25f2-3141-912a-f8d873d83d48.png[/img]
[b]配置webservice[/b]
点击工具栏的new web services按钮,选择对应项目点击next。
[img]http://dl.iteye.com/upload/attachment/0065/0062/20fbec1f-d920-3499-807f-462d76fc45b2.png[/img]

输入webservice名称,选择对应的接口和实现类点击finish
配置完成可看到services.xml内容已经发生改变
[img]http://dl.iteye.com/upload/attachment/0065/0064/e2d08e4f-d54d-3f54-920a-1b119c86ebd4.png[/img]
如果觉得前面配置webservice的步骤比较麻烦的话其实可以直接在service.xml文件添加上面格式的<service>信息就可以了。
放在tomcat上然后访问项目名称加上service,例如 http://127.0.0.1:8088/XFireService/services
可以看到你的webservice并点击wsdl链接可以看wsdl文件的内容的话就证明服务器端开发成功了。
然后就是客户端
第一步还是建立XFire的webservice project,然后点击右键选择new web service client,选择对应新建的client项目,选择XFire点击next。
输入wsdl地址,选择生成类所要放入的包点击next,如果下一步的WSDL Validation没有错误的话之间点击下一步添加jar包点击finish。
[img]http://dl.iteye.com/upload/attachment/0065/0066/18f7f36a-7375-370a-aab8-fb7ec05d4505.png[/img]

[b]项目结构图: [/b]
[img]http://dl.iteye.com/upload/attachment/0065/0068/704e0bda-e645-3d72-b158-19adf2c9eed7.png[/img]
可以直接在HelloWordClient类中写测试方法:

public static void main(String[] args){
HelloWordClient client=new HelloWordClient();
HelloWordPortType service=client.getHelloWordHttpPort();
System.out.println(service.hello(null));
System.out.println(service.hello("yuur"));
System.out.println(service.add(7,3));
}



写完这一篇,可能暂时就不写了。。。后来可能会和大家讲解一些稍微复杂的应用,例如文件传输和list数据的传输。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值