(二) CXF 发布WS服务

来源:互联网 发布:手机黄金探测器软件 编辑:程序博客网 时间:2024/06/05 09:35

【一 简介】

      使用CXF 开发WS服务和使用原生的JDK 发布WS服务基本类似,不同之处在于,CXF 需要引入一些jar包,而JDK 不需要。当然了,CXF 要比原生的JDK 功能强大很多。
使用CXF 发布WS 服务,需要以下几个步骤: 

      1. 引入cxf 相关jar包

      2. 声明WS服务接口

      3. 指定WS 服务接口实现类

      4. 发布WS 服务


【二  示例】

【1. 引入jar包】

      cxf 目录下lib文件夹中,包含了很多cxf 相关包,但是并不是说所有的都必须用到。 笔者也没有过多的时间去研究到底都需要哪些jar包, 只能简单地删减一些。最终需要的jar包有这些:(在WEB项目中发布WS服务的时候,不需要引入jetty 的相关包)

    

【2. WS服务接口】

package org.zgf.cxf.server;import javax.jws.WebMethod;import javax.jws.WebService;/** * 使用@WebService 注解修饰,标明这是一个WebService 服务 * */@WebServicepublic interface IHelloWorldWS {/** * 使用@WebMethod 修饰, 标明这是一个WebService 接口方法 * */@WebMethodpublic String sayHello(String name);/** * 使用@WebMethod 修饰, 标明这是一个WebService 接口方法 * */@WebMethodpublic String sayByeBye(String name);}

【3. WS实现类】

package org.zgf.cxf.server;import javax.jws.WebService;/** * WebService 服务的实现类  */@WebServicepublic class HelloWordWS implements IHelloWorldWS{@Overridepublic String sayHello(String name) {return "hello," + name;}@Overridepublic String sayByeBye(String name) {return "Bye bye, " + name;}}

【4. 发布WS服务】

package org.zgf.cxf.test.o3;import javax.xml.ws.Endpoint;import org.zgf.cxf.server.HelloWordWS;/** * 测试 ws 服务器发布 */public class TestPublishServer {public static void main(String[] args) {//1. 设置发布地址:ip 需要为本机ip, 端口号为本机未被占用的端口号String address = "http://172.22.12.85:8180/ws/hellowordws";Endpoint.publish(address, new HelloWordWS());System.out.println("web service 接口发布成功... ");}}

【5. 输出日志】

三月 11, 2016 1:20:37 下午 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClassINFO: Creating Service {http://server.cxf.zgf.org/}HelloWordWSService from class org.zgf.cxf.server.IHelloWorldWS三月 11, 2016 1:20:38 下午 org.apache.cxf.endpoint.ServerImpl initDestinationINFO: Setting the server's publish address to be http://172.22.12.85:8180/ws/hellowordws2016-03-11 13:20:38.522:INFO:oejs.Server:jetty-7.5.4.v201110242016-03-11 13:20:38.563:INFO:oejs.AbstractConnector:Started SelectChannelConnector@172.22.12.85:8180 STARTINGweb service 接口发布成功... 2016-03-11 13:20:38.626:INFO:oejsh.ContextHandler:started o.e.j.s.h.ContextHandler{/ws,null}


【6. 浏览器中访问WSDL 文档】


【7. 总结】

     使用CXF 发布WS 服务和使用JDK 发布WS服务类似,(二)WebService-- JDK发布WS服务
     源码下载: WS-CXF.zip

0 0
原创粉丝点击