XFire框架实现WebService(一)

      XFire是新一代的Java Web服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,XFire的配置非常简单,可以非常容易地和Spring集成,它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。
      XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,为企业转向SOA架构提供了一种简单可行的方式。

一:首先新建一下服务端Web工程:testWebService
(这里选择 J2EE 1.4即可)



二:创建接口类及实现类

接口:
package cn.com.service;
public interface IMyWebService {
    public String HelloWorld(String name);
}

实现类:
package cn.com.service;
public class MyWebServiceImpl implements IMyWebService {
   public String HelloWorld(String name) {
       return name+"你好!";
   }
}

项目目录结构:


三:要给项目工程加入WebService的包

四:编辑配置文件
  service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
   <service>
      <name>testWebService</name>
      <namespace>www.service/testWebService</namespace>
      <serviceClass>cn.com.service.IMyWebService</serviceClass>
      <implementationClass>cn.com.service.MyWebServiceImpl</implementationClass>
   </service>
</beans>

五. 部署后在浏览器中测试: http://localhost:8088/testWebService/services, 格式是固定的,中间换成项目名即可!

到此,服务端代码开发完成!

下面来开发客户端代码:
一: 创建一个WEB项目

其中IMyWebService.java和服务端代码一样,可以直接copy过来!
TestWS是测试类:
package cn.com.service;
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class TestWS {
public static void main(String[] args) {
    //1.取得WebService的路径
    String url = "http://localhost:8088/testWebService/services/testWebService";
  
    //2.创建服务
    Service service = new ObjectServiceFactory().create(IMyWebService.class);

    //3.创建服务代理
    XFireProxyFactory factory = new          XFireProxyFactory(XFireFactory.newInstance().getXFire());

     //4.调用外部的WebService,建立对象,再测试其方法
     try {
        IMyWebService obj = (IMyWebService)factory.create(service,url);
        System.out.println(obj.HelloWorld("zhoufy"));
     } catch (MalformedURLException e) {
         e.printStackTrace();
      }
   }

}
同样的客户端也要添加Web Service的包,添加过程中 点击 Next 要选中红框中的一项!



运行结果: 你好zhoufy
到此一个简单的WebService应用开发完了!

猜你喜欢

转载自15838341661-139-com.iteye.com/blog/1133156