天天看点

XFire的DEMO使用

1.    Webserivces背景

WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

从表面上看,WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何在Web上实现互操作性,可以用任何语言,在任何平台上写Web service ,只要可以通过Web service标准对这些服务进行查询和访问。Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。

2.    XFire介绍

最近在研究JAVA开发Webservice,发现网络上比较流行的几种选择AXIS、XFire、CFX(XFire的下一代)。在BOMC系统中主要采用XFire进行webservice接口计, XFire使得在JavaEE应用中发布Web服务变得轻而易举, XFire的配置非常简单,可以非常容易地和Spring集成。下面部署一个具体例子:

开发环境:Myeclipse 8, jdk版本-1.5.0,tomcat版本-6.0.37;

1、        新建一个Web Service Project项目,新建项目截图如下:

XFire的DEMO使用

2、        打开项目结构,发现已经将XFire相关jar包引入到项目中,我们只需开发具体的接口就可以,

XFire的DEMO使用

打开WebRoot下WEB-INF\web.xml文件,会发现项目已经将XFire拦截添加到xml中,内容如下:

<servlet>

    <servlet-name>XFireServlet</servlet-name>

    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>

    <load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>XFireServlet</servlet-name>

    <url-pattern>/services

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       @SuppressWarnings("unused")

       Client client =null ;

       try {

            client = new Client(new URL("http://localhost:2000/XfireDemo/services/xfireService?wsdl"));

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

            Object[] str=client.invoke("StrCompare", new Object[] {null,"UNLOCK"}) ;

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

            System.out.println(str[0].toString());

       } catch (MalformedURLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       } catch (Exception e) {,

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

    }

}

运行结果:

XFire的DEMO使用