近期在研究JAVA开发Webservice,发现网络上比較流行的几种选择AXIS、XFire、CFX(XFire的下一代),前几天转了几篇关于这三种选择的比較的文章,对它们已经有了些概念。决定自己实践一个样例

     在開始前,先介绍一些概念:

    MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory传输协议


一、环境配置:MyEclipse7.0

                     JDK1.6

二、创建Web Service Project

      1)在MyEclipse中选择File—>New—>Other,选择Web Service Project

      

      2)Project Name:WebServiceServer,Framework:XFire,其它选项默认

     

     3)Next,这一步保持默认值

     4)Project Library选择,选择XFire 1.2  Core Libraries

    

    5)Finish,创建成功后看到的project文件夹例如以下:

   

    6)完毕以上5步后,查看WebRoot/WEB-INF/web.xml

         这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理   

三、创建Web Service Code

    1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE

    

     2)选择通过JAVA CLASS创建Web Service

    

     3)创建HelloWebService.java,通过New创建com.service package,向导将为project自己主动创建相应的接口类与实现类

    

     创建成功后查看WebServices/services.xml,发现配置文件多了下面内容:

    

    4)改动HelloWebServiceImpl.java

    package com.service;

    //Generated by meteorWJ


   public class HelloWebServiceImpl implements IHelloWebService {

   

     public String example(String message) {

        return getAuthor()+","+message;

     }

     private String getAuthor(){

        return "meteorWJ";

     }

   

   }

 

四、部署并測试WebSericeServer

    1)部署WebServiceServer

   

    在部署向导中选择项目、server

   

    2)启动server

   

   3)測试WebService

   MyEclipse提供了一个Web Service Explorer来測试Web Service

  

   选择列表中的Launch SOAP Web Services Explorer

   4)选择WSDL模式

  

   5)在Explorer中选择WSDL Main,在右边的URL中输入

   http://localhost:9090/WebServiceServer/services/HelloWebService?WSDL,单击"Go"

   当中9090是serverport号,services在之前的web.xml中指定

   若在Status中显示成功打开WSDL文件则測试成功

   

五、创建WebServiceclient

经过以上几步,我们已经成功公布了一个WebService,如今须要创建一个client来调用该服务

  1)创建Java Project:WebServiceClient

  2)引入MyEclipse Libraries

       右键WebServiceClient—>Build Path—>Add Libraries

 

  选择XFire 1.2 HTTP Client Libraries

 

   3)创建HelloWebService.java

   在src文件夹下创建com.client.HelloWebService.java

   package com.client;


   import java.net.URL;

   import org.codehaus.xfire.client.Client;


   public class HelloWebService {

       public static void main(String[] args) throws Exception

       {

        Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));

        Object[] results = client.invoke("example", new Object[] {"hello"});

        System.out.println((String) results[0]);

       }

   }

   4)在确认server启动的情况下,执行HelloWebService.java

   右键点击Run As>Java Application,在控制台中看到例如以下输出

  

 

本次实例到此就算完毕了。