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项目,新建项目截图如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZD9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVP9E0T0sGVNxWMHFmes12YshmMZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jMygTOykTN2EzMxQDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2、 打开项目结构,发现已经将XFire相关jar包引入到项目中,我们只需开发具体的接口就可以,
打开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(); } } } |
运行结果: