现在的位置: 首页 > 综合 > 正文

[原创]xfire 配置webservice图例 // 一、简单服务端,客户端

2013年09月12日 ⁄ 综合 ⁄ 共 5656字 ⁄ 字号 评论关闭

xfire官网(http://xfire.codehaus.org/Home

) 

本文是笔记式的分享,如本文中有不足或错误的地方,欢迎指出,如转贴请说明出处。直接进入正题。

 
服务端实例:

一、File-->New-->Project,选择“Web Project”,填入项目名称,J2EE选择1.4(J2EE5.0和J2EE1.4在实现JavaBean绑定时会有区别,我会在后续的文章中进行说明),Finish
xfire 配置webservice图例

二、右键项目-->Properties-->Java Build Path-->Libraries-->Add Library-->MyEclipse Libraries,选择“XFire 1.2 Core Libraries”,Finish
xfire 配置webservice图例

xfire 配置webservice图例

先贴出完整的目录结构,方便理解

 xfire 配置webservice图例

三、新建一个接口ITransportMessage和这个接口的实现类TransportMessageImpl

接口ITransportMessage

实现类TransportMessageImple

四、在src目录下新建META-INF/xfire/service.xml,这步是为了配合MyEclipse部署Tomcat时,能将xfire的配置文件service.xml正确放在/WEB-INF/classes/META-INF/xfire下,你也可手动copy到此目录下。xfire官方说明:You will need to create a services.xml file which describes the services you are deploying. Put this file on your class path in "META-INF/xfire/services.xml". (Try "WEB-INF/classes/META-INF/xfire/services.xml" if the system cannot find the file.)

service.xml

五、修改web.xml

六、将项目部署到Tomcat下,启动Tomcat

 xfire 配置webservice图例

七、访问http://localhost:8080/simplexfire/service

,页面显示如下:
xfire 配置webservice图例

八、点击页面中example后面的wsdl,或者直接访问http://localhost:8080/simplexfire/service/example?wsdl

xfire 配置webservice图例

 

 

至此服务端配置完成。

 

 
客户端实例:

这里用含有main函数的类来模拟web访问,如要用web方式实现,将main函数里的代码复制到你的代码中即可。

 

目前我知道有三种情况来实现客户端访问webservice接口:

 

1、将web端的代码打成JAR包导到本地

2、保存网页wsdl到本地,通过ant的wsgen任务生成本地代码

3、使用org.codehaus.xfire.client.Client类访问webservice

如果有高手路过此文章,请问应用一般是采用的什么方式?赐教。

 

 
第一种情况:

一、先将web端/WEB-INF/classes下的class文件打成JAR包,我这里取名“simplexfire.jar”

二、新建“Web Project”,导入“XFire 1.2 Core Libraries”和“XFire 1.2 Http Client Libraries”,另外将“simplexfire.jar”拷贝到此项目下,导入之。
xfire 配置webservice图例

xfire 配置webservice图例

三、新建ClientI类,写入main函数

四、执行
xfire 配置webservice图例

五、执行结果
xfire 配置webservice图例

 

 
第二种情况:

 

一、新建“Web Project”,J2EE选择5.0,导入“XFire 1.2 Core Libraries”和“XFire 1.2 Http Client Libraries”,另外将“activation-1.1.jar”、“commons-logging-1.0.4.jar”、“jaxb-api-2.0.jar”、“jaxb-impl-2.0.1.jar”、“jaxb-xjc-2.0.1.jar”、“jdom-1.0.jar”、“jsr173_api-1.0.jar”、“wsdl4j-1.6.1.jar”、“xfire-all-1.2.6.jar”、“xfire-jsr181-api-1.0-M1.jar”和“XmlSchema-1.1.jar”拷贝到/WEB-INF/lib目录下(运行wsgen任务,lib目录下的JAR包缺一不可,这些包可以在“xfire-distribution-*.*.zip”中找到,xfire官网有下
xfire 配置webservice图例

xfire 配置webservice图例

二、保存wsdl到项目目录下,我这里命名为example.xml
xfire 配置webservice图例

xfire 配置webservice图例

三、运行build.xml

build.xml
xfire 配置webservice图例

四、刷新项目,可以发现WebService接口的代码都已生成,建ClientII类,写入main函数

五、执行(同上)

六、执行结果(同上)

 

 
第三种情况:

一、新建“Web Project”,导入“XFire 1.2 Core Libraries”和“XFire 1.2 Http Client Libraries”
xfire 配置webservice图例

二、建ClientIII类,写入main函数

三、执行(同上)

四、执行结果(同上)

 

 

希望对刚刚接触webservice和xfire的童鞋有所帮助,也欢迎指出不足的地方。

上面涉及到的例子压缩成了包: webservice.rar

抱歉!评论已关闭.