




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用Apache CXF开发WebServices服务端Apache CXF = Celtix + XFire。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。总之,就是cxf就是好啦。那么接下来我们使用cxf来开发一个webServices的服务端。体验CXF的好处。环境:MyEclipse6.01+jdk51)首先,建一个web工程.2)写好一个接口和服务类/服务接口IHelloService.javapackage com.pengzj.service;import java.util.List;import javax.jws.WebMethod;import javax.jws.WebService;/* author atixujie#gz-accp*/WebServicepublic interface IHelloService WebMethod public String sayHi(String uname);/webServices的实现类IHelloServiceImpl .javaimport com.pengzj.service.IHelloService;WebServicepublic class IHelloServiceImpl implements IHelloService Override WebMethod public String sayHi(String uname) return Hello +uname; 大家可以注意到,这里用到了webServices的注解。WebService和WebMethod.3)导入CXF的jar包。到apache的网站上下载CXF的包。最新的版本是2.2.9 。当然如果你下载这个包就会比较麻烦。因为它需要最新的JDk(1.6.01都不行。要什么1.6.u11)的支持。所以建议你还是下载2.0.4地址如下:/dist/incubator/cxf/2.0.4-incubator/apache-cxf-2.0.4-incubator.zip解压之后将lib文件夹下的jar包都复制到项目中。4)配置CXF。然后将web.xml的配置文件改成如下:cxf cxf Apache CXF Endpoint cxf org.apache.cxf.transport.servlet.CXFServlet 1 cxf /services/* 60 org.springframework.web.context.ContextLoaderListener 5)配置Spring的配置文件。因为CXF集成了Spring。所以以上的配置要默认到WEB-INF/下找spring的配置文件applicationContext.xml。所以我们要在WEB-INF下建立一个Spring的配置文件applicationContext.xml如下: 准备工作结束了。部署,运行。在地址上输入:http:/localhost:8080/cxfws_0619/services/就应该可以看到一个超链接,点击可以看到如下的wsdl-xml文件+ok.使用CXF开发服务端大功告成。总结步骤:1)建立web工程。导入cxf的jar包。2)配置web.xml文件3)配置spring的配置文件。同时配置好服务类的bean.4)部署运行。在下一篇中,我们将介绍利用wsdl2java工具生成代码,完成客户端的调用。开发webServices的客户端-通过wsdl2java接下来客户端的调用从理论上来说可以使用任意的方式来调用。因为webServices的理念就是服务端和客户端可以是异构平台。在之前的博客中,使用XFIRE作为客户端。现在我们使用根据wsdl文件自动生成桩代码的形式来开发客户端。在cxf的包中解压后有一个bin目录。其中有一个wsdl2java.bat文件。这个文件可以帮助我们根据wsdl文件来生成客户端的stub。也就是桩代码。主要是生成和服务端一致的接口文件。在dos下使用这个命令(实际上myclipse有这个插件)wsdl2java -d d:src -clienthttp:/localhost:8080/cxfService_0617/services/Hellows?wsdl就会在d盘的src文件夹下生成一些包和java文件。src文件夹你要预先建立好。其中文件名最长的那个文件就是主应用程序。args0表示wsdl文件的位置,你需要手动修改一下。public final class IHelloService_IHelloServiceImplPort_Client private static final QName SERVICE_NAME = new QName(/, IHelloServiceImplService); private IHelloService_IHelloServiceImplPort_Client() public static void main(String args) throws Exception String url=http:/localhost:8080/cxfService_0617/services/Hellows?wsdl; URL wsdlURL = null; File wsdlFile = new File(url); try if (wsdlFile.exists() wsdlURL = wsdlFile.toURL(); else wsdlURL = new URL(url); catch (MalformedURLException e) e.printStackTrace(); IHelloServiceImplService ss = new IHelloServiceImplService(wsdlURL, SERVICE_NAME); IHelloService port = ss.getIHelloServiceImplPort(); System.out.println(Invoking sayHi.); java.lang.String _sayHi_arg0 = jack; java.lang.String _sayHi_return = port.sayHi(_sayHi_arg0); System.out.println(sayHi.result= + _sayHi_return); System.exit(0); 运行以上的程序结果为:Invoking sayHi.sayHi.result=Hello jack。-恭喜你,成功了。后续:因为我们在服务端的webServices方法比较简单,传递的是String,返回值也是string.如果传入或返回的值带有自定义的数据类型。那么生成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铣床考试试题及答案
- 化学氧气考试题及答案
- 视网膜脱离考试题及答案
- 一次函数试题及答案
- 校内外玩耍安全知识培训课件
- 2025年达州市水利发展有限责任公司招聘考试笔试试题(含答案)
- 树脂工艺基础知识培训总结
- 2025年药物临床试验质量管理培训试题及答案
- 抢救药品试题及答案
- 2025年农机以租代购合同范文
- 2025总公司授权分公司签订合同的示范文本
- 2025年医师定期考核法律法规试题及答案
- 学堂在线 大学计算机基础 章节测试答案
- 上海金山区卫生系统招聘考试(护理学专业知识)题含答案2024年
- GB/T 6075.6-2024机械振动在非旋转部件上测量评价机器的振动第6部分:功率大于100 kW的往复式机器
- 住宅项目景观工程施工策划(图文并茂)
- 怀念汪世清先生
- 干细胞治疗骨关节炎课件
- 工作场所空气中的粉尘测定
- 《汽车电工电子技术》全套教案(完整版)
- 筛分、破碎、磨矿与分级
评论
0/150
提交评论