在日常开发中,常用的webservice引擎主要有Axis,axis2,Xfire以及cxf(Xfire的升级版)。现在只有axis2和cxf官方有更新。今天我们先以一个比较老的引擎为例。来讲诉一下webservice的主要用法和简单原理。

XFire是新一代的Java Web服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,XFire的配置非常简单,可以非常容易地和Spring集成,它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,为企业转向SOA架构提供了一种简单可行的方式。下面我们就通过一个小例子来实现一个基于XFire的webservice程序。

开发环境 


Sun Java 6+ MyEclipse 8.5

首先建立一个webservice工程:File—》new—》web service project

输入你所想要的项目名。选中FrameWork为XFire,点击next

图中的Servlet class选中当前的servlet。其他的默认就可以了。点击next。然后选中假如当前的jar包。

下面我们看一下新创建的MyWebService Web Service工程的组织结构,Web Service 工程和一个标准的MyEclipse Web工程很相似. (这是我们刚才配置时,Myeclipse给我自动假如的servlet的配置):

整个工程的结构:


OK,开发前的大部分准备工作做完以后。下一步我们要进行的就是webservice的服务端,也就是提供给服务的一端的开发。其实这里所说的开发基本还是要靠Myeclipse的向导来帮我们完成。

File—》new—》other:

                     

在图中的myeclipse文件夹中找出web services中的web service。选中。点击next。

上图中Project所指定的就是我们要为哪个web项目创建service。这里我们当然选中的就是我们刚才所创建的MyWebService。然后要注意的就是这里的strategy 我们选中的是第二个:从java类中创建web服务、下面的创建新的java bean也要选中。点击next

这里让我们填写一个创建web服务的名字。然后选择所生成的类的包名。其他的默认就好。点击finish。

该向导产生了IMyWebServiceService Java接口和MyWebServiceServiceImpl Java类.并且在services.xml配置文件中创建了一个实体(如图所示),注意到example(String name)方法在接口类中产生,当Web Service部署后作为一个测试操作.

从上面代码中我们可以看出我们这个web服务的功能就是,当客户端给我传过来一个“name”。我们返回一个“hell + name”;

下一步要做的就是我们把我们这个web服务程序发布到服务器上。只有发布到程序上。别人才可以通过接口调用我们所写的服务。发布服务器的过程我就不写了。然后启动服务器。

OK,web服务写好了。Myeclipse为我们提供了一个很好的web服务的测试的功能。下面我们就用这个功能来测试一下我们的web服务是否写配置正确。

在MyEclipse perspective中选择toolbar button来执行Web Service Explorer

1.点击:                

2. 选择WSDL模式:
3. 在活动面板中键入MyWebServiceService WSDL文档的URL—http://localhost:8080/MyWebService/services/MyWebServiceService?WSDL,Web Service Explorer将下载自动产生的WSDL文档,该WSDL文档由XFire framework,并产生一系列的操作能够调用service.

4. 在活动面板中选择example操作并在in0域中键入MyWebService

5. 选择Go按钮来调用在MyWebServiceService上的example操作,,结果出现在Status面板上

Ok,从图中我们可以发现。我们所做的的服务是成功的。既然是成功的。我们就可以发布到网络上。让需要的人可以调用我所提供的这个功能了。那么如何调用我们这功能呢?这就涉及到我们webservice 客户端的开发了。下面我们来看一下webservice客户端的开发。

为了方便理解。我们还是在我们本web 工程中创建客户端。首先我们要给我的工程添加webservice客户端的支持。也就是所谓的添加所需jar包。

右击工程—》点击BuildPath—》add libary—》选中XFire1.2HTTP-client libary

Finish

创建测试类:

该段代码定义了创建一个XFire web service proxy的过程,该代理支持POJO IMyWebServiceService接口 。运行上面一段代码。我们就成功的调用了我们所写的web服务功能

------------------------------------------------------------------------------------------------------------

《Java程序员由笨鸟到菜鸟》电子版书正式发布,欢迎大家下载

http://blog.csdn.net/csh624366188/article/details/7999247

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

Java程序员从笨鸟到菜鸟之(一百零九)一步一步学习webservice(三)开发第一个基于XFire的webservi相关推荐

  1. Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析--csdn 曹胜欢...

    新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对 ...

  2. Java程序员从笨鸟到菜鸟之(八十七)跟我学jquery(三)jquery动态创建元素和常用函数示例

    在上面两篇博客中列举了太多的API相信大家看着眼晕. 不过这些基础还必须要讲, 基础要扎实.其实对于这些列表大家可以跳过, 等以后用到时再回头看或者查询官方的API说明.在本博客中就给大家讲解一下这些 ...

  3. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解...

    在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...

  4. Java程序员从笨鸟到菜鸟之(九十九)深入java虚拟机(八)开发自己的类加载器...

    欢迎阅读本专题的其他博客:                      深入java虚拟机(一)--java虚拟机底层结构详解 深入java虚拟机(二)--类的生命周期(上)类的加载和连接 深入java ...

  5. Java程序员从笨鸟到菜鸟全部博客目录

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.NET/csh624366188 欢迎关注微信账号:java那些事:csh624366188.每天一篇java相关的文章 大 ...

  6. Java程序员从笨鸟到菜鸟之(序言)+全部链接

    http://blog.csdn.net/csh624366188 大学上了一年半,接触java也一年半了,虽然中间也有其他东西的学习,但是还是以java为主路线,想想这一年半,除去前半年几乎全玩了, ...

  7. Java程序员由笨鸟到菜鸟 电子版书正式发布 欢迎大家下载

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 欢迎关注 ...

  8. Java程序员从笨鸟到菜鸟之——总结和声明

    前段时间经过大约二十天的时间把javaSE的内容总结了一下,最近由于个人原因和一些乱七八糟的事情,一直没在更新,首先感谢那些一如既往支持我的朋友.最近不知道为什么,一直很懒,做东西也一直是效率很低,生 ...

  9. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  10. Java程序员从笨鸟到菜鸟之(一百零九)一步一步学习webservice(三)开发第一个基于XFire的webservice

    在日常开发中,常用的webservice引擎主要有Axis,axis2,Xfire以及cxf(Xfire的升级版).现在只有axis2和cxf官方有更新.今天我们先以一个比较老的引擎为例.来讲诉一下w ...

最新文章

  1. WCDMA中的URA和LA/RA
  2. 几种常见的JVM调优场景(建议收藏)
  3. 进阶学习(4.4) JVM GC Root 判定, 垃圾的判定
  4. 【收藏】Geomesa(三)图层的裁剪分析
  5. vue2.0父向子传参,子向父传参,路由传参
  6. 微信小程序 防连点时间_微信小程序防止重复点击
  7. MYSQL创建、删除、修改索引语法
  8. 谈谈JavaScript中function多重理解
  9. indesign图片规定在左下角_InDesign如何为目录模板设置母版
  10. iOS(swift): Core ML的使用
  11. dcs常用的冗余方式_冗余技术在DCS平台应用分析
  12. linux中dd命令详解,Linux dd命令详解
  13. 这位毁誉参半的政治名嘴,竟然彻底改变了计算机编程
  14. R语言实现简单的网页数据抓取
  15. Java知识汇总——思维导图
  16. 瓦伦达效应:越在意的,就越容易失去
  17. 编码器-解码器(seq2seq)
  18. CMake系列讲解(入门篇)1.2 基础命令Cmake-project()
  19. 在水果检测中选择多光谱相机还是高光谱相机?
  20. M102: MongoDB for DBAs chapter 3 performance学习记录

热门文章

  1. ecmall 挂件html位置,ecmall 挂件和模板的制作方法
  2. Opengl ES之三角形绘制
  3. 【质量】镜像漏洞扫描工具Trivy原理和操作
  4. java 驼峰转换_java驼峰转换的方法
  5. 多语言及中文分词与检索
  6. 考上好大学,然后进入IT行业是穷人孩子晋级中产的唯一出路?(好多年不转载别人的文章了,本文的话题是我非常关注的,一直没有写)
  7. JS中的DOM查询(2),(parentNode、previousSibling、nextSibling)
  8. CC00060.kafka——|Hadoopkafka.V45|——|kafka.v45|日志存储概述|
  9. c语言七星彩票兑奖7位数,7位数的体彩!具体中奖怎么算!
  10. feed mysql表设计_Feed流系统设计实践(一)