xfire官网(http://xfire.codehaus.org/Home
)
本文是笔记式的分享,如本文中有不足或错误的地方,欢迎指出,如转贴请说明出处。直接进入正题。
服务端实例:
一、File-->New-->Project,选择“Web Project”,填入项目名称,J2EE选择1.4(J2EE5.0和J2EE1.4在实现JavaBean绑定时会有区别,我会在后续的文章中进行说明),Finish
二、右键项目-->Properties-->Java Build Path-->Libraries-->Add Library-->MyEclipse Libraries,选择“XFire 1.2 Core Libraries”,Finish
先贴出完整的目录结构,方便理解
三、新建一个接口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
七、访问http://localhost:8080/simplexfire/service
,页面显示如下:
八、点击页面中example后面的wsdl,或者直接访问http://localhost:8080/simplexfire/service/example?wsdl
至此服务端配置完成。
客户端实例:
这里用含有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”拷贝到此项目下,导入之。
三、新建ClientI类,写入main函数
四、执行
五、执行结果
第二种情况:
一、新建“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官网有下
二、保存wsdl到项目目录下,我这里命名为example.xml
三、运行build.xml
build.xml
四、刷新项目,可以发现WebService接口的代码都已生成,建ClientII类,写入main函数
五、执行(同上)
六、执行结果(同上)
第三种情况:
一、新建“Web Project”,导入“XFire 1.2 Core Libraries”和“XFire 1.2 Http Client Libraries”
二、建ClientIII类,写入main函数
三、执行(同上)
四、执行结果(同上)
希望对刚刚接触webservice和xfire的童鞋有所帮助,也欢迎指出不足的地方。
上面涉及到的例子压缩成了包: webservice.rar