目前项目上有用到xfire,所以临时看了些xfire的资料和示例,自己照着写了一个简单示例。

  xfire在2007年后已经停止更新,正式更名为apache cxf,也可以说是xfire2.0。

  xfire最后的版本是xfire1.2.6

  1.新建一个dynamic project

  2.lib中加入xfire依赖的jar,这个可以从xfire-distribution-1.2.6找到

   

3.配置web.xml

    

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  6. <display-name>xfireDemo</display-name>
  7.  
  8. <servlet>
  9. <servlet-name>xfireServlet</servlet-name>
  10. <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
  11. </servlet>
  12.  
  13. <servlet-mapping>
  14. <servlet-name>xfireServlet</servlet-name>
  15. <url-pattern>/servlet/xfireServlet/*</url-pattern>
  16. </servlet-mapping>
  17.  
  18. <servlet-mapping>
  19. <servlet-name>xfireServlet</servlet-name>
  20. <url-pattern>/services/*</url-pattern>
  21. </servlet-mapping>
  22. </web-app>

    4.编写service对象

  1. package com.jerry.ws;
  2. /**
  3. *
  4. * @author Jerry
  5. *
  6. * 2014年6月10日 下午11:03:16
  7. */
  8. public interface HelloService {
  9. void sayHello(String name);
  10. }
  1. package com.jerry.ws;
  2. /**
  3. *
  4. * @author Jerry
  5. *
  6. * 2014年6月11日 上午12:16:21
  7. */
  8. public class HelloServiceImpl implements HelloService {
  9.  
  10. @Override
  11. public void sayHello(String name) {
  12. // TODO Auto-generated method stub
  13. System.out.println("hello, " + name + "! ");
  14. }
  15.  
  16. }

      5.在META-INF下先新建一个xfire文件夹,在新建一个services.xml,然后编辑services.xml

    

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <beans>
  3. <service xmlns="http://xfire.codehaus.org/config/1.0">
  4. <name>HelloService</name>
  5. <namespace>http://ws.jerry.com/services/HelloService</namespace>
  6. <serviceClass>com.jerry.ws.HelloService</serviceClass>
  7. <implementationClass>com.jerry.ws.HelloServiceImpl</implementationClass>
  8. </service>
  9. </beans>

      6.因为xfire会在classPath下去找META-INF/xfire/services.xml,所以Eclipse 发布需要做如下配置

      

      7.最后配置tomcat,启动项目,访问 http://localhost:8080/xfireDemo/services,就可以看到所发布的服务了

      

[xfire]使用xfire开发webservice的简单示例的更多相关文章

  1. 【C#】 创建、部署和调用WebService的简单示例

    C# 创建.部署和调用WebService的简单示例 <div class="postBody"> <div id="cnblogs_post_body ...

  2. C# 创建、部署和调用WebService的简单示例 (转)

    C# 创建.部署和调用WebService的简单示例(转)  转自 https://www.cnblogs.com/Brambling/p/7266482.html  webservice 可以用于分 ...

  3. 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(二)简单示例

    学习资料:<Activiti实战> 第一章 搭建Activiti开发环境及简单示例 2.5 简单流程图及其执行过程 (1)leave.bpmn 后缀名必须是bpmn.安装了activiti ...

  4. C# 创建、部署和调用WebService的简单示例

    废话不多说,下面开始创建一个简单的webservice的例子.这里我用的是Visual Studio 2015开发工具. 首先创建一个空的Web应用程序. 然后鼠标右键点击项目,选择 添加>新建 ...

  5. webservice的简单示例的实现步骤

    前段时间在webservice的问题上纠结了很长时间,本来想写在thinkphp的框架里面,可是怎么也实现不了,目前为止也仅仅是学会的没有框架的接口的开发. 在此资源共享一下步骤: 首先我创建的文件有 ...

  6. [deviceone开发]-do_Album的简单示例

    一.简介do_Album用来打开手机系统提供的相册,能选择一张或多张图片返回给开发者,通常相册的图片比较大,要经过缩放.有的时候用户也需要把别的地方获取到到图片收藏到系统相册.这个示例简单展示这个组件 ...

  7. ubuntu下使用golang、qml与ubuntu sdk开发桌面应用 (简单示例)

    找了很长时间go的gui库,试了gtk,准备试qt的时候发现了这个qml库,试了下很好用. ##准备工作 **1.Go 1.2RC1** go的版本应该不能低于这个,我是在1.2RC发布当天升级后发现 ...

  8. C# 创建WebService的简单示例

    工具Visual Studio 2013 1.创建一个空的Web应用程序. 2.鼠标右击项目,添加->新建项 选择Web服务(ASMX),点击添加.一个简单的webservice就创建完成了.

  9. activiti实战--第二章--搭建Activiti开发环境及简单示例

    (一)搭建开发环境 学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html ...

随机推荐

  1. [jAudio] JAVA上经典特征提取工具

    1.下载Jar包后引入 现在的问题是jAudio通常是给人UI进行操作的,直接使用怎么办? 看了源码,发现特征提取是通过类之间交叉调用实现的,是否有办法整合一下?

  2. 关于ETL的几种运行

    一:代码部分 1.新建maven项目 2.添加需要的java代码 3.书写mapper类 4.书写runner类 二:运行方式 1.本地运行 2. 3. 三:本地运行方式 1.解压hadoop到本地 ...

  3. mysql5.5 对触发器,函数,存储引擎,事件进行主从复制情况.(转)

       mysql5.5 对触发器,函数,存储引擎,事件进行主从复制情况. 转(http://blog.csdn.net/m582445672/article/details/7670802) 一.My ...

  4. 编写一个方法,输入DOM节点,返回包含所有父节点的一个数组

    编写一个方法,输入DOM节点,返回包含所有父节点的一个数组 function getParentsNodes(element) { var parents = []; var getParentsNo ...

  5. redis 实时从mysql 更新数据

    现在的互联网普遍都用redis+mysql ,查询一般放在 redis  上,更改 放在 redis  上, 如果更新 mysql数据到  redis 上呢? mysql 有四中类型的日志 Error ...

  6. LinearLayout增加divider分割线

    在android3.0及后面的版本在LinearLayout里增加了个分割线 1 2 android:divider="@drawable/shape"<!--分割线图片-- ...

  7. 【足迹C++primer】表达式求值

    表达式求值 /** * 功能:表达式求值(0到9) * 时间:2014年6月15日08:02:31 * 作者:cutter_point */ #include<stdlib.h> #inc ...

  8. win32下进程间通信——共享内存

    一.引言     在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯.WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换 ...

  9. Getting Started with the NDK

    The Native Development Kit (NDK) is a set of tools that allow you to leverage C and C++ code in your ...

  10. 从C到汇编:栈是计算机工作的基础

             作者:r1ce        原创作品转载请注明出处       <Linux内核分析> MOOC课程http://mooc.study.163.com/course/U ...