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工程搭建用例:



  

 

猜你喜欢

转载自hufeng.iteye.com/blog/2393218