服务器端:

第一: 配置环境

创建一个Web Project,将XFire自己的包及其XFire依赖的jar包(6个jar包)全部导入到classpath下,方法是,只需将jar包粘贴在WebRoot->WEB-INF->lib下即可。

第二: 创建一个interface和interface的实现类。使用 Web 服务接口和 Web 服务实现类来完成 POJO 的 Web 服务发布

第三: 修改web.xml文件,将XFireServlet整合到Tomcat服务器中

在<web-app>中加入一下xml,这样就是说来自/servlet/XFireServlet/*和/services/*的所有的请求都交由org.codehaus.xfire.transport.http.XFireConfigurableServlet来截获,并且通过XFire自己的机制来处理[xhtml] view plaincopy

  1. <servlet>
  2. <servlet-name>XFireServlet</servlet-name>
  3. <servlet-class>
  4. org.codehaus.xfire.transport.http.XFireConfigurableServlet
  5. </servlet-class>
  6. </servlet>
  7. <servlet-mapping>
  8. <servlet-name>XFireServlet</servlet-name>
  9. <url-pattern>/servlet/XFireServlet/*</url-pattern>
  10. 10.  </servlet-mapping>
  11. 11.  <servlet-mapping>
  12. 12.   <servlet-name>XFireServlet</servlet-name>
  13. 13.   <url-pattern>/services/*</url-pattern>
  14. 14.  </servlet-mapping>

第四:向外界暴露服务

在src目录下建立一个文件夹叫做META-INF,再在其下建立一个xfire文件夹,在xfire文件夹中创建一个services.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
 <!-- 向外界暴露的服务的名字 -->
 <name> IWsService</name>
 <!-- 接口类 -->
 <serviceClass> IWsService</serviceClass>
 <!-- 接口实现类 -->
 <implementationClass> WsServiceImpl</implementationClass>
</service></beans>

客户端开发:通过服务端提供的接口类进行调用

第一:将XFire自己的包及其XFire依赖的jar包(6个jar包)全部导入到classpath下

第二:开发客户端

// 参数声明

private static Service service = null;

private static XFireProxyFactory factory = null;

private static IWsService iws = null;

private static String url = "http://192.168.5.163:8081/fmws/services/WsService";

// 根据与服务器端相同的接口创建service

service = new ObjectServiceFactory().create(IWsService.class);

// 用代理工厂创建接口类型的对象

factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());

//远程调用代理service

iws = (IWsService)factory.create(serviceurl);

深入了解webservice_开发实战篇的更多相关文章

  1. 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇)

    系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 扫码体验,先睹为快 可以扫描下微信小程序的 ...

  2. iOS开发——开发实战篇&版本控制SVN和Git使用详解

     版本控制SVN和Git使用详解     公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的!     -----------------svn--------- ...

  3. iOS开发——实战篇Swift篇&UItableView结合网络请求,多线程,数据解析,MVC实战

    UItableView结合网络请求,多线程,数据解析,MVC实战 学了这么久的swift都没有做过什么东西,今天就以自己的一个小小的联系,讲一下,怎么使用swift在实战中应用MVC,并且结合后面的高 ...

  4. Flutter完整开发实战详解

    Flutter完整开发实战详解(一.Dart语言和Flutter基础) Flutter完整开发实战详解(二. 快速开发实战篇) Flutter完整开发实战详解(三. 打包与填坑篇)

  5. HTML5 Canvas游戏开发实战 PDF扫描版

    HTML5 Canvas游戏开发实战主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读 ...

  6. 《微信小程序商城开发实战》笔者的新书,欢迎各位粉丝上京东购买

    作者图书京东链接,请点击------>>>    **微信小程序商城开发实战** 附京东真实评价截图: 编辑推荐 在当今移动互联网大潮中,微信应用凭借其庞大的用户基数和极强的用户黏性 ...

  7. 基于DDD的微服务设计和开发实战

    你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务设计和开发实战篇,通过借鉴 ...

  8. 驱动领域DDD的微服务设计和开发实战

    你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务设计和开发实战篇,通过借鉴 ...

  9. 第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容

    第一部分:微信JS-SDK介绍 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...

随机推荐

  1. JS之相等操作符

    1.相等 == 和不相等 != 先转换操作数再比较相等性 在转换不同的数据类型时,相等和不相等遵循以下规则: 1.1 如果有一个操作数是布尔值,则在比较相等性前先将其转换为数值---false转换为0 ...

  2. (copy) How to remote desktop a Fedora 19 from a Windows 7

    source: http://forums.fedoraforum.org/showthread.php?t=293665 Try xrdp or freerdpInstall xrdp or fre ...

  3. ucenter 4站同步

    其中fleam站的登陆代码为下,通过登陆fleam的账号,引发其他3个站点的登陆 <meta charset="utf8"> <?php include 'con ...

  4. 简单的apk Ionic

    index.html <html> <head> <meta charset="utf-8"> <meta name="view ...

  5. uwsgi 启动脚本 每隔三小时重启

    针对 s10ops项目 来进行的重启 [root@ayibang-server scripts]# cat /home/liujianzuo/server/scripts/monitor_uwsgi ...

  6. Java Lock ReentrantLock ReentrantReadWriteLock

    Lock与Synchronized的区别:   1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现: 2)synchronized在发生异 ...

  7. Java8 新特性default

    在JDK1.8的Iterator接口中 package java.util; import java.util.function.Consumer; public interface Iterator ...

  8. Spring Boot 1 创建Demo

    Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 入门操作: 1.打开ht ...

  9. swap文件

    # dd if=/dev/zero of=/tmp/myswap bs=1M count=4096 # mkswap /tmp/myswap # swapon /tmp/myswap # vim /e ...

  10. Mysql主从库同步错误:1062 Error 'Duplicate entry '1438019'

    mysql主从库同步错误:1062 Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query mysql主从库在同步时会发生1062 L ...