CXF WebService 开发指南、技术文档

上传人:碎****木 文档编号:218629689 上传时间:2021-12-05 格式:DOCX 页数:27 大小:263.89KB
返回 下载 相关 举报
CXF WebService 开发指南、技术文档_第1页
第1页 / 共27页
CXF WebService 开发指南、技术文档_第2页
第2页 / 共27页
CXF WebService 开发指南、技术文档_第3页
第3页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《CXF WebService 开发指南、技术文档》由会员分享,可在线阅读,更多相关《CXF WebService 开发指南、技术文档(27页珍藏版)》请在金锄头文库上搜索。

1、一、CXF WebService 预备工作二、CXF 入门示例三、CXF 对 Interceptor 拦截器的支持四、CXF WebService 中传递简单类型对象五、CXF 整合 SpringVersion1.0 2011-03-30WebService开发指南hoojo授之以鱼,不如授之以渔!期望能给宽敞 IT 朋友带来一些挂念I T达 人自 由 I T职 业b l o g . c s d n . n e t / I B M _ h o o j o h t t p : / / h o o j o . c n b l o g s . c o m /5 0 6 6 3 7 3 1 52 0

2、1 1 - 3 - 1 5 6 CXF WebService 技术指南CXF WebService上次介绍了 Axis 的 WebService,现在我们来看看 CXF 是怎么完成 WebService 的。Axis1 WebService 在线博文: Axis2 WebService 在线博文:一、 预备工作1、 CXF 官方网址:http:/cxf.apache.org/2、 Jar 包下载地址:http:/www.apache.org/dyn/closer.cgi?path=/cxf/2.3.3/apache-cxf-2.3.3.zip将下来的 jar 包解压后,名目或许就这样bin 名

3、目供应的是常用的 dos 把握台命令工具docs 挂念文档lib jar 包、依靠库lib-samples 也是 jar 包,有 jetty、httpclients、junit 等 jar 包modules 打包好的 WebService 模块samples 示例 demo3、 源码下载:http:/www.apache.org/dyn/closer.cgi?path=/cxf/2.3.3/apache-cxf-2.3.3-src.zip有时候你可以看看源码,对你了解和学习CXF WebService 都会有作用。4、 CXF 的特性有代码生成工具:Java to WSDL ;WSDL to

4、Java ;XSD to WSDL ;WSDL to XML ;WSDL to SOAP ;WSDL to Service ;支持 JAX-WS 、JAX-WSA 、JSR-181 和 SAAJ ;支持 SOAP 1.1 、1.2 、WS-I BasicProfile 、WS-Security 、WS-Addressing 、WS-RM 和 WS-Policy ;支持 WSDL 1.1 、2.0 ;支持MTOM ;、JavaScript 、通过 Yoko 支持 CORBA ; 通过 Tuscany 支持 SCA ;通过ServiceMix 支持 JBI内置 Jetty 应用服务器欢迎转载 请保

5、留原文作者信息 不得未经作者允许用于商业用途二、 CXF 入门实例又一 HelloWorld 示例,老套的 HelloWorld 是入门经典。也是基础和必需把握的,下面看看HelloWorldWebService,很简洁。需要的 jar 包如下:1、 HelloWorldService 服务器端代码package com.hoo.service;import javax.jws.WebParam;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Styl

6、e;/* function:CXF WebService 服务器端helloWorld示例* author hoojo* createDate 2011-3-16 上午08:29:07* file HelloWorld.java* package com.hoo.service* project CXFWebService* blog * email hoojo_* version 1.0*/ WebServiceSOAPBinding(style = Style.RPC)public class HelloWorldService public String sayHello(WebPara

7、m(name = “name“) String name) return name + “ say: Hello World “;com.sun.xml.internal.ws.model.RuntimeModelerException: runtime要说明的是,上面的服务器端代码运用了JDK5 的新特性 Annotation,这个格外好用。需要留意的是,假如不添加SOAPBinding(style = Style.RPC)注解,将会消灭特别:modeler error还有就是假如jdk版本在1.6下,也会消灭上面的特别。解决方法有:1 先用apt命令将主程序进行编译,然后生成一些java文

8、件2 升级JDK到版本jdk1.6u17或以后2、 公布 HelloWorldService,代码如下:package com.hoo.service.deploy;import javax.xml.ws.Endpoint;import com.hoo.service.HelloWorldService;/* function: 公布CXF WebService* author hoojo* createDate 2011-3-17 上午09:24:33* file DeployHelloWorldService.java* package com.hoo.deploy* project CX

9、FWebService* blog * email hoojo_* version 1.0*/public class DeployHelloWorldService /* function:公布WebService* author hoojo*/public static void deployService() System.out.println(“Server start “); HelloWorldService service = new HelloWorldService(); String address = “http:/localhost:9000/helloWorld“;

10、 Endpoint.publish(address, service);public static void main(String args) throws InterruptedException/公布WebServicedeployService(); System.out.println(“server ready “); Thread.sleep(1000 * 60); System.out.println(“server exiting“);/休眠60秒后就退出System.exit(0);运行上面的 main 函数后,假如没有发觉特别。基本信息是这样的:Server start

11、2011-3-17 10:17:25org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass信息: Creating Service from class com.hoo.service.HelloWorldService2011-3-17 10:17:25 org.apache.cxf.endpoint.ServerImpl initDestination信息: Setting the server”s publish address to behttp:/localhost:9000/

12、helloWorld2011-03-17 10:17:25.375:INFO:jetty-7.2.2.v201012052011-03-17 10:17:25.468:INFO:StartedSelectChannelConnectorlocalhost:9000server ready 那么你在 WebBrowser 中恳求:http:/localhost:9000/helloWorld?wsdl 就可以看到 xml 内容了。package com.hoo.service;import javax.jws.WebParam;import javax.jws.WebService;/* fun

13、ction: 客户端调用WebService所需要的接口* author hoojo* createDate 2011-3-17 上午09:00:00* file IHelloWorldService.java* package com.hoo.service* project CXFWebService* blog * email hoojo_* version 1.0*/ WebServicepublic interface IHelloWorldService public String sayHello(WebParam(name = “name“) String name);3、 定制客户端调用 WebService 的接口,这个接口中的方法签名和参数信息可以从 wsdl 中的内容看到,代码如下:4、 编写客户端调用 WebService 代码package com.hoo.client;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import com.hoo.service.IHelloWorldService;/* function:CXF WebService客户端调用代码* author hoojo* createDate

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号