二、cxf入门示例

上传人:j****9 文档编号:45436970 上传时间:2018-06-16 格式:DOC 页数:5 大小:49.32KB
返回 下载 相关 举报
二、cxf入门示例_第1页
第1页 / 共5页
二、cxf入门示例_第2页
第2页 / 共5页
二、cxf入门示例_第3页
第3页 / 共5页
二、cxf入门示例_第4页
第4页 / 共5页
二、cxf入门示例_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《二、cxf入门示例》由会员分享,可在线阅读,更多相关《二、cxf入门示例(5页珍藏版)》请在金锄头文库上搜索。

1、二、二、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.Style;/* functi

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

3、(name = “name“) String name) return name + “ say: Hello World “; 要说明的是,上面的服务器端代码运用了 JDK5 的新特性 Annotation,这个非常好用。 需要注意的是,如果不添加SOAPBinding(style = Style.RPC)注解,将会出现异常:com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error还有就是如果 jdk 版本在 1.6 下,也会出现上面的异常。 解决办法有: 1 先用 apt 命令将主程序进行编译,

4、然后生成一些 java 文件 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.

5、hoo.deploy* project CXFWebService* blog http:/ 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 = “htt

6、p:/localhost:9000/helloWorld“; Endpoint.publish(address, service);public static void main(String args) throws InterruptedException /发布 WebService deployService(); System.out.println(“server ready “); Thread.sleep(1000 * 60); System.out.println(“server exiting“); /休眠 60 秒后就退出 System.exit(0); 运行上面的 ma

7、in 函数后,如果没有发现异常。基本信息是这样的:Server start 2011-3-17 10:17:25 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass 信息: Creating Service http:/ HelloWorldServiceService from class com.hoo.service.HelloWorldService 2011-3-17 10:17:25 org.apache.cxf.endpoint.ServerImpl initDesti

8、nation 信息: Setting the servers publish address to be http:/localhost:9000/helloWorld 2011-03-17 10:17:25.375:INFO:jetty-7.2.2.v20101205 2011-03-17 10:17:25.468:INFO:Started SelectChannelConnectorlocalhost:9000 server ready 那么你在 WebBrowser 中请求: http:/localhost:9000/helloWorld?wsdl 就可以看到 xml 内容了。 3、 定

9、制客户端调用 WebService 的接口,这个接口中的方法签名和参数信息可以从 wsdl 中的内容看到,代码如下: package com.hoo.service;import javax.jws.WebParam; import javax.jws.WebService;/* function: 客户端调用 WebService 所需要的接口* author hoojo* createDate 2011-3-17 上午 09:00:00* file IHelloWorldService.java* package com.hoo.service* project CXFWebService

10、* blog http:/ email hoojo_* version 1.0*/ WebService public interface IHelloWorldService public String sayHello(WebParam(name = “name“) String name); 4、 编写客户端调用 WebService 代码 package com.hoo.client;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import com.hoo.service.IHelloWorldService;/* functi

11、on:CXF WebService 客户端调用代码* author hoojo* createDate 2011-3-16 上午 09:03:49* file HelloWorldServiceClient.java* package com.hoo.client* project CXFWebService* blog http:/ email hoojo_* version 1.0*/ public class HelloWorldServiceClient public static void main(String args) /调用 WebServiceJaxWsProxyFacto

12、ryBean factory = new JaxWsProxyFactoryBean();factory.setServiceClass(IHelloWorldService.class);factory.setAddress(“http:/localhost:9000/helloWorld“);IHelloWorldService service = (IHelloWorldService) factory.create();System.out.println(“result“ + service.sayHello(“hoojo“); 运行上面的程序后,结果如下:2011-3-17 10:23:34 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass 信息: Creating Service http:/ IHelloWorldServiceService from class com.hoo.service.IHelloWorldService resulthoojo say: Hello World

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

当前位置:首页 > 中学教育 > 初中教育

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