XFire开发WebService
  XFire简介:
XFire是新一代的Java Web服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,XFire的配置非常简单,可以非常容易地和Spring集成,它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率. 详细内容请看:baike.baidu/view/920041.html
WebService简介:
它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web . 应用程序分支,是自包含、自描述、模块 化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(HttpXMLSoap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
具体内容请访问:baike.baidu/view/837392.html
开发环境:JDK 1.6;MyEclipse8.5;tomcat 6.0;Windows XP;XFire1.2
接下来我们看怎么用XFire来构建一个webservice服务端。
1. 创建工程
打开MyEclipse 8.5,新建一个WebService工程。如下图
点击next, 下一步.
不用改动. 点击FINISH。完成.工程搭建完毕。下面是我们工程结构图.自动生成l
2. 创建webserice服务.
点击下一步.
点击Finish
IMyServiceTest.java代码如下:
MyServiceTestImpl.java代码如下:
l配置文件如下:
3. 测试服务端
测试服务器我们采用Tomcat, 需要将做好的服务端打包部署到tomcat上,然后启动. 在进行测试.
点击 GO
可以看到,我们服务端提供了一个名叫 sayHello”的接口.webservice实现我们点击这个方法名.
在下面填入字符串. 点击GO如下
这样服务端就返回一个字符串. 说明我们服务端测试通过.
4. 创建客户端代码
创建客户端可以用MyEcilse自带的创建客户端方式.去创建. 比较简单. 傻瓜式操作. 这里我就不在示范. 我采用手写的方式写一个客户端.这样有助于大家理解.也能加深记忆.
(1) 创建一个工程. MyserviceCilent 添加XFire架包. 工程架构如下.
(2) 创建接口实现类.
    IMyServiceTest.java. 源码如下:
package service.client;
//Generated by MyEclipse
public interface IMyServiceTest {
   
            public String sayHello(String user);
   
}
MyServiceTestImpl.java 源码如下:
package service.client;
//Generated by MyEclipse
public class MyServiceTestImpl implements IMyServiceTest {
    public String sayHello(String user) {
       
              return "您好,"+user;
          }
}
(3) 写测试类.
ClientTest.java 源码如下:
   
    public  static  void  main(String [] args){
       
        Service serviceModel = new ObjectServiceFactory().create(IMyServiceTest.class); 
      XFire xfire = XFireFactory.newInstance().getXFire(); 
      XFireProxyFactory factory = new XFireProxyFactory(xfire); 
      String serviceUrl = "10.222.22.97:8080/MyServiceTest/services/MyServiceTest"
      IMyServiceTest client = null
      try
                client = (IMyServiceTest) ate(serviceModel, serviceUrl); 
        } catch (MalformedURLException e) { 
                System.out.println("Client call webservice has exception: "+ e.toString()); 
        } 
        String result1 =client.sayHello("张三");
        System.out.print(result1);
       
       
}
直接执行后会返回以下结果.
5. 现在一个简单的webservice已经开发完成. 当然有的同学会提出. 只可以传递字符串类型吗? 当然不是. 后续我还为大家在写传递对象类型. 集合类型. 数组类型. 敬请期待. 谢谢! 有什么问题,可以联系我邮箱:zhubox1j7253@sina 很高兴能和你探讨.