引言

  • Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。Apache CXF已经是一个正式的Apache顶级项目。
  • 特点:可以与Spring无缝连接

步骤

1.使用CXF框架发布webService

  • 官网下载zip包:http://cxf.apache.org/download.html
  • 解压zip包

2.引入jar包 cxf和spring框架的jar包

<--Spring框架相关jar--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>4.3.2.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.3.2.RELEASE</version></dependency><--CXF框架相关jar--><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.1.7</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http</artifactId><version>3.1.7</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-core</artifactId><version>3.1.7 </version></dependency>

3 开发服务类接口

@WebService
public interface WeatherService {public String queryWeather(String cityName);
}

4.开发服务类实现类

@WebService
public class WeatherServiceImpl implements WeatherService {@Overridepublic String queryWeather(String cityName) {System.out.println("城市名称:"+cityName);if("北京".equals(cityName)){return "晴转多云~~~";}return "多云转晴....";}
}

5.配置spring-cxf.xml 引入新的命名空间cxf

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"><!--注册服务--><bean id="weatherService" class="com.baizhi.webservice.WeatherServiceImpl"></bean><!--发布服务--><!--address: 代表发布服务的地址  必须以"/"开头serviceClass: 用来书写发布服务的实现类的接口的全名访问服务地址:Http:localhost:8989/项目名/cxf/ws?wsdl--><jaxws:server address="/ws" serviceClass="com.baizhi.webservice.WeatherService"><jaxws:serviceBean><ref bean="weatherService"/></jaxws:serviceBean></jaxws:server>
</beans>

6.配置web.xml

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><!--初始化Spring工厂的配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-basic.xml</param-value></context-param><!--启动工厂--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--配置cxf的Servlet  用来区分哪些是SpringMVC的请求,哪些是项目中webService的请求 --><servlet><servlet-name>cxf</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class></servlet><servlet-mapping><servlet-name>cxf</servlet-name><url-pattern>/cxf/*</url-pattern></servlet-mapping></web-app>

7.启动服务测试

使用CXF框架发布SOAP协议的 WebService服务相关推荐

  1. CXF框架发布WebService服务的例子

    1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.H ...

  2. Maven项目集成cxf框架发布WebService

    关于Maven项目集成cxf框架发布和接收WebService 从网上找了很多,发现大多数都是类似"单机"版的发布,直到看了一篇博客,给我很大的启发. 在此感谢这位博客的作者:ht ...

  3. 2021.12.9 java代码对接sap接口(soap协议、webservice)

    2021.12.9 java对接sap接口(soap协议.webservice) 问题:对接sap接口,代码调试 执行: 1.soapui 软件测试是否能正确访问 未能正确访问,因为未在本地配置域名映 ...

  4. springboot+cxf框架开发SOAP接口

    什么是SOAP SOAP是 simple object access protocol(简单对象访问协议)的缩写.这个协议是用http的post请求实现的,跟一般的post请求不同的是,在请求的hea ...

  5. 采用CXF框架发布WebService

    1. CXF介绍 :soa的框架     * cxf 是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,并且捐给了apache       * CxF的核心是org ...

  6. Web服务cxf框架发布2

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/ ...

  7. 基于soap协议的webservice开发

    1.利用cxf进行webservice开发,因此需要去官网下载cxf的jar包. 2.eclispe建立工程,引入jar包. 3.编写对外发布的接口: 4.编写实现类: 5.编写对外发布的类: 6.启 ...

  8. SOAP协议 访问Webservice

    2019独角兽企业重金招聘Python工程师标准>>> 已整理成完整项目,并进行了优化.看参考地址: https://gitee.com/andy_longjie/soap-call ...

  9. python-jsonrpc框架实现JsonRPC协议的web服务

    一.JsonRPC介绍 json-rpc是基于json的跨语言远程调用协议,比xml-rpc.webservice等基于文本的协议传输数据格小:相对hessian.Java-rpc等二进制协议便于调试 ...

最新文章

  1. 使用Runtime执行推理(C++)
  2. Android Studio – Cannot resolve symbol ‘R’
  3. 语言的神经结构: 一体化建模集中于预测处理(附ppt)
  4. Android使用磁盘缓存DiskLruCache
  5. iBatis整理——iBatis批处理实现(Spring环境)
  6. ASP.NET MVC 实现与SQLSERVER的依赖缓存
  7. linux下文本模式不能登录,图形可以登录
  8. 剑指offer-跳台阶
  9. 将VC++6.0的代码迁移到VS2005常见问题总结(Window核心编程第五版以前代码在VS2005无法编译的解决方案)...
  10. android 保活方案_Android 后台保活手段总结 (上篇)
  11. windows 文件路径太深无法删除解决方案
  12. TCP长连接开发相关,调试工具SocketTool与框架GatewayWorker
  13. 龙格库塔方法在实际生活中的应用(数值计算Java)
  14. 差异表达基因变化倍数_重磅推出!欧易关键基因筛选报告
  15. wps excel 表格粘贴到 word 删除首行缩进
  16. python获取发送到手机的短信,使用python将短信更新发送到手机
  17. 计算机图形学完整笔记(九):真实感图形学
  18. 去IOE是什么意思?
  19. 深度学习-AUC/PR计算
  20. 【Python】NumPy 中 ravel() 正确打开方式

热门文章

  1. virsh console无法连接虚拟机
  2. 微软CEO鲍尔默最新致雅虎董事会信件翻译全文
  3. python把matlab的图显示出来,在Python上显示Matlab mat文件中的图像
  4. MyBatis08:ResultMap 的结果集映射,java编程题面试题
  5. hutool的json工具完成list和json转换
  6. 链表类模板的基本应用(c++)
  7. jrtplib库使用简解
  8. ubuntu16.04下postgresql常用命令,及图形化管理界面pgadmin3
  9. 基于JxBrowser的浏览器控件封装实现Java Swing的浏览器集成
  10. mos管GS之间的电阻的作用?