网站建设名词解释与简答题,温州网站关键词排名优化,昆明中国建设银行网站,wordpress商店如何添加商品简介#xff1a; XFire是新一代的Java Web服务引擎#xff0c;XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比#xff0c;XFire的配置非常简单#xff0c;可以非常容易地和Spring集成#xff0c;它使得Java开发人员终于可以获得和.Net开发人员一…
简介 XFire是新一代的Java Web服务引擎XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比XFire的配置非常简单可以非常容易地和Spring集成它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。 XFire是codeHaus组织提供的一个开源框架它构建了POJO和SOA之间的桥梁主要特性就是支持将POJO通过非常简单的方式发布成Web服务这种处理方式不仅充分发挥了POJO的作用简化了Java应用转化为Web服务的步骤和过程也直接降低了SOA的实
现难度为企业转向SOA架构提供了一种简单可行的方式。 一、开发环境 运行环境 Tomcat 6.0,jdk 1.6 开发工具Eclipse 二、开发service(服务端) 开发之前请先下载xfire-distribution-1.2.6.zip压缩包并解压 网盘下载连接百度云盘 三、进入开发 1. 在Eclipse中新建一个Dynamic Web Project项目自定义命名我命名为XFireWebService 2. 导入XFire用户库该库中应包含xfire-1.2.6目录下的xfire-all-1.2.6.jar文件以及xfire-1.26\lib目录下的所有jar文件 3. 将上述的XFire用户库中的所有文件拷贝到XFireWebService项目的WebContent\WEB-INF\lib目录下 4. 修改WebContent\WEB-INF\web.xml配置文件的内容下面是修改后web.xml蓝色部分web.xml中添加的servlet映射表明所有匹配“/services/*”的url请求全部交给org.codehaus.xfire.transport.http.XFireConfigurableServlet来处理 ?xml version1.0 encodingUTF-8?
web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd idWebApp_ID version2.5display-nameXFireWebService/display-namewelcome-file-listwelcome-fileindex.jsp/welcome-file/welcome-file-listspan stylecolor:#000099;servletservlet-nameXFireServlet/servlet-nameservlet-classorg.codehaus.xfire.transport.http.XFireConfigurableServlet/servlet-class/servletservlet-mappingservlet-nameXFireServlet/servlet-nameurl-pattern/servlet/XFireServlet/*/url-pattern/servlet-mappingservlet-mappingservlet-nameXFireServlet/servlet-nameurl-pattern/services/*/url-pattern/servlet-mapping/span
/web-app 5. 编写需要发布为WebService的Java接口和实现类这个例子中是一个非常简单的XFireServiceInterface.java 和XFireService.java 接口XFireServiceInterface.java span stylecolor:#000000;package com.webservice;/*** 功能描述XFire服务接口* author By_吥悔*/
public interface XFireServiceInterface {public String print();public int sum(int x, int y);
}/span 实现类XFireService.java span stylecolor:#000000;package com.webservice;/*** 功能描述XFire服务接口的实现类* author By_吥悔*/
public class XFireService implements XFireServiceInterface {public String print() {return This is XFireService 服务测试成功;}public int sum(int x, int y) {return x y;}
}/span 6. 在WebContent\META-INF目录下新建xfire文件夹然后在xfire目录下添加一个XFire使用的配置文件services.xml该配置文件中的内容反映了要将哪些java类发布为web服务。本例中的services.xml内容如下XFire会借助Spring来解析services.xml从中提取需要发布为WebService的配置信息 ?xml version1.0 encodingUTF-8?
beans xmlnshttp://xfire.codehaus.org/config/1.0servicenameXFireService/namenamespacehttp://com.webservice/XFireService/namespaceserviceClasscom.webservice.XFireService/serviceClass/service
/beans 7. 很多文章介绍到这里就完了然而当我按照他们所说的启动WebService然后通过http://localhost:8080/XFireWebService/services/XFireService?wsdl来访问服务描述时却抛出了异常说services.xml文件不存在 org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from class path resource [META-INF/xfire/services.xml]; nested exception is
java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist 8. 在WebContent\WEB-INF目录下新建classes文件夹然后需要将WebContent下的整个META-INF文件夹剪切到新建的classes文件夹下。 到这里项目的完整目录结构如下 9. 修改完成然后再次启动Tomcat 在IE中输入http://localhost:8080/XFireWebService/services/XFireService?wsdl会得到正确的web服务描述文档如下 10. 测试刚发布的XFire WebService 测试类XfireWebServiceClient.java package com.webservice.client;import java.net.MalformedURLException;
import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.webservice.XFireServiceInterface;/*** 功能描述XFire服务测试端* author By_吥悔*/
public class XfireWebServiceClient {public static void main(String[] args) {Service serviceModel new ObjectServiceFactory().create(XFireServiceInterface.class);XFire xfire XFireFactory.newInstance().getXFire();XFireProxyFactory factory new XFireProxyFactory(xfire);String serviceUrl http://localhost:8080/XFireWebService/services/XFireService;XFireServiceInterface client null; try {client (XFireServiceInterface) factory.create(serviceModel, serviceUrl);} catch (MalformedURLException e) { System.err.println( Client call webservice has exception: e.toString());}String result1 client.print();int result2 client.sum(6, 6);System.err.println(result1 : result2);}
} 打印结果 -------------------------------------------------------------------------------------------------------------------- 一花一世界一叶一菩提。
我自落叶飘零寻梦旅途繁忙
Author