Webservices XFire框架的搭建与使用
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工程搭建用例: