WebService 顾名思义能建立起客户端和服务器端的会话;在服务器端可以通过tomcat、weblogic等应用服务器来部署webServie服务以响应客户端的请求;起初理解以为是一个产品,后来在项目应用的时候发现有很多种框架可以支持这种服务,比如Axis Axis2、 CXF、XFire等,通过网上对比各种框架的配置,发现XFireb比较为好用,只是MyEclipse8.5以上的版本不支持了。
下面通过myeclipse8.5演示怎么搭建XFire用例。
一,首先配置webService服务端
File-New-Web Service Project
直到完成。
下面添加配置信息
1 建立接口类
package com.service; publicinterface IHelloWebService { public String example(String message); }
2 建立实现类 供客户端调用
package com.service; //Generated by MyEclipse publicclass HelloWebServiceImpl implements IHelloWebService { public String example(String message) { return"hello 您请求的信息是"+ ":" + message; } }
配置外部请求信息(告诉客户端怎么请求,我是这么理解的)
修改工程目录下有个 WebServices 文件夹 services.xml添加信息如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>HelloWebService</name> <serviceClass>com.service.IHelloWebService</serviceClass> <implementationClass> com.service.HelloWebServiceImpl </implementationClass> <style>wrapped</style> <use>literal</use> <scope>application</scope> </service> </beans>
上述XML信息对一个开发者来说,应该好理解,到此服务器端配置完毕。
部署webservice
启动Tomcat 不再详述。
二,配置webService客户端请求
在此我们通过客户端请求,然后服务器端响应数据。
项目à右键àothersàmyEclipseàwebServicesàwebServices client
http://localhost:8080/TestXFireServer/services/HelloWebService?wsdl
最后直到完成(这个过程主要是加载XFire客户端请求jar包)。在com.client 下会自动生成两个Java文件,由于是自动生成的代码,我们可以删掉不用考虑。
编写客户端请求代码如下:
package com.client; import java.net.MalformedURLException; import java.net.URL; import org.codehaus.xfire.client.Client; publicclass TestClientRequest { publicstaticvoid main(String[] args) { Client client; try { client = new Client( new URL( "http://localhost:8080/TestXFireServer/services/HelloWebService?wsdl")); Object[] results = client.invoke("example", new Object[] { "我的中国心" }); System.out.println((String) results[0]); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
直接运行main方法打印结果如下到此我们完成了整个xFire 框架的webService工程搭建用例: