1. 下载 apache-cxf-x.x.x.zip,在工程导入依赖的 jar 包。也可以基于 Maven 构建工程。

2. 定义服务接口。

package com.huey.demo.ws;import javax.jws.WebParam;
import javax.jws.WebService;@WebService
public interface HelloService {public String sayHello(@WebParam(name="who") String who);}

3. 实现服务接口。

package com.huey.demo.ws.impl;import javax.jws.WebParam;
import javax.jws.WebService;import com.huey.demo.ws.HelloService;@WebService(name="helloService", endpointInterface="com.huey.demo.ws.HelloService")
public class HelloServiceImpl implements HelloService {public String sayHello(@WebParam(name="who") String who) {String helloMsg = "Hello, " + who + "!";return helloMsg;}}

4. 发布服务。

package com.huey.demo.main;import javax.xml.ws.Endpoint;import com.huey.demo.ws.HelloService;
import com.huey.demo.ws.impl.HelloServiceImpl;public class Server {public void publishWebService() {HelloService helloService = new HelloServiceImpl();String address = "http://localhost:9090/hello";Endpoint.publish(address, helloService);}public static void main(String[] args) {try {new Server().publishWebService();System.out.println("Server Ready...");Thread.sleep(5 * 60 * 1000);System.out.println("Server Existing...");} catch (Exception e) {e.printStackTrace();} finally {System.out.println("Ending...");}}}

5. 在浏览器键入 http://localhost:9090/hello?wsdl,验证服务是否发布成功。

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://impl.ws.demo.huey.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://ws.demo.huey.com/" name="HelloServiceImplService" targetNamespace="http://impl.ws.demo.huey.com/"><wsdl:import namespace="http://ws.demo.huey.com/" location="http://localhost:9090/hello?wsdl=HelloService.wsdl"/><wsdl:binding name="HelloServiceImplServiceSoapBinding" type="ns1:HelloService"><soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="sayHello"><soap:operation soapAction="" style="document"/><wsdl:input name="sayHello"><soap:body use="literal"/></wsdl:input><wsdl:output name="sayHelloResponse"><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="HelloServiceImplService"><wsdl:port name="helloServicePort" binding="tns:HelloServiceImplServiceSoapBinding"><soap:address location="http://localhost:9090/hello"/></wsdl:port></wsdl:service>
</wsdl:definitions>

6. 访问服务。

package com.huey.demo.main;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import com.huey.demo.ws.HelloService;public class Client {public static void main(String[] args) {try {System.out.println("Starting Client...");JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();factory.setServiceClass(HelloService.class);factory.setAddress("http://localhost:9090/hello");HelloService helloService = (HelloService) factory.create();String helloMsg = helloService.sayHello("Huey");System.out.println(helloMsg);} catch (Exception e) {e.printStackTrace();} finally {System.out.println("Ending...");}}}

7. SoupUI 测试。

转载于:https://www.cnblogs.com/huey/p/4585657.html

CXF(2.7.10) - A simple JAX-WS service相关推荐

  1. spring和maven_具有Spring和Maven教程的JAX–WS

    spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...

  2. 带有Spring和Maven教程的JAX–WS

    Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...

  3. CXF(2.7.10) - RESTful Services, JSON Support

    在 CXF(2.7.10) - RESTful Services 介绍了 REST 风格的 WebService 服务,数据传输是基于 XML 格式的.如果要基于 JSON 格式传输数据,仅需要将注解 ...

  4. java javax.xml.ws_如何通过javax.xml.ws.Service进行调用

    在 Eclipse中创建了一个新的标准java 7项目,并成功设法获取javax.xml.ws.Service的实例,如下所示: String wsdlURL = "http://examp ...

  5. Forbid consumer 10.100.8.14 access service com.alibaba.dubbo.monitor.MonitorService解决办法

    网上有很多文章分析这个错误的原因,甚至贴出源码,结论是缺少服务提供者.我这里也复现了这样的问题. 2018-04-28 11:03:58,806 (186601 ms) ERROR [DubboMon ...

  6. CXF在项目中的真实运用--WS访问客户端编写[java、.net]

    一.首先,CXF的WS实现类由于实现了和Spring的无缝集成,因此可以采用Spring的单元测试来测试基本功能. 代码如下: package com.defshare.sy.test.biz; im ...

  7. jax ws ri 生成java类_JAX-WS(一)之使用wsgen从Java创建简单的WebService

    概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...

  8. service启动activity_「 Android 10 四大组件 」系列—Service 的 quot; 启动流程 quot;

    作者:DeepCoder 核心源码 关键类路径 Service 的启动过程相对 Activity 的启动过程来说简单了很多,我们都知道怎么去创建和启动一个 Service, 那么你有没有从源码角度研究 ...

  9. A Simple RESTful API Service With Node.js And Koa2

    背景: 2017年可以说是区块链爆发的一年,都说币圈一日股市一年,小道消息的即时性很重要,自己有时候想要即时查询币价,同时也需要实时获知一些利好或利空消息,奈何总找不到合适自己的小玩意: 女朋友怕冷, ...

最新文章

  1. 融资2.1亿商汤领投,他要用VR+AR解决无人驾驶的路测难题
  2. 2017青岛计算机报名,【青岛市2017年第二批次计算机应用能力考试报名通知】- 环球网校...
  3. FPGA基础知识极简教程(8)详解三态缓冲器
  4. kettle spoon中“表输入”到“表输出”的乱码问题
  5. gpio_request 原形代码
  6. node.js 搭建http调取 mysql数据库中的值
  7. C#常用类库----CSV文件操作类
  8. python为什么没有指针_Python中有指针吗?
  9. 数据结构和算法分析(三)——C++实现队列
  10. java 字符串编程题_Java编程题——在一个字符串中查找第一个非重复的字符
  11. 以一定概率执行某段代码(Python实现)
  12. unity游戏框架学习-资源管理
  13. Excel如何快速制作二维码图片?
  14. 深圳市已获取支付牌照公司
  15. (翻译)角色扮演模式(Role playing)
  16. 自定义动画实现左右摇摆
  17. 利用range表单元素实现调色板
  18. 外企面试,哪有你想象的那么难!(已收埃森哲、NTTDATA等8家外企offer)
  19. D. Riverside Curio
  20. 为避免反射炫光计算机屏幕应怎样摆放,除了膜,电脑屏幕上还有种涂层,随便擦可就毁了!...

热门文章

  1. MyEclipse: The Table cannot be found on the database
  2. MSN P2P资料转载
  3. 阿里北大:深度哈希算法最新综述
  4. CV Code | 本周计算机视觉新出开源代码汇总(含目标检测、深度估计、视频识别、网络加速算法等)...
  5. PHP中将首字母大写的函数,在PHP中,使用()函数来将单词首字母转换为大写。
  6. 【资源下载】921页《用Python3带你从小白入门机器学习实战》教程手册
  7. xml 纯内容标签_Python小课堂XML 解析
  8. MySQL 的 IFNULL()、ISNULL() 、 NULLIF()、IF() 函数
  9. php选择数据表,PHP SQL,一次从3个表中选择相应的数据?
  10. MacOS 安装 Telnet