将WebService的WSDL生成的代码的命令: 

wsimport -p com -s . com http://localhost:8080/service/user?wsdl

  

Spring boot 整合CXF开发web service 遇到的问题:

  1、成功集成cxf后,发现只有webservice服务可以正常使用,其他请求url全部无法正常访问。

  解决办法:在发布服务配置类WebServiceConfig.java中,更改此方法名:

  @Bean
  public ServletRegistrationBean dispatcherServlet()

  改为:

  @Bean
public ServletRegistrationBean disServlet(){
return new ServletRegistrationBean(new CXFServlet(),"/service/*");//发布服务名称
}

  即可成功访问其他url

  是因为 public ServletRegistrationBean dispatcherServlet() 把默认映射覆盖掉了,把这个名字改掉,控制类方法就能访问了。

  更改此方法明后可以正常其他请求url,webservice服务也正常。

  出处:https://blog.csdn.net/hawako/article/details/80556676

  

  2、将webservice的WSDL生成的代码后调用方法,发现List无法set参数。

  原因:CXF就是只为List提供一个get方法

  解决办法:将List get出来后 add参数就行了,如下代码,

  user.getAddresses().addAll(addresses);

  

  3、在客户端测试时,报Exception:两个类具有相同的 XML 类型名称,请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称,如图所示:

  解决办法:找到报错的类

 

  对XmlType重新命名(最简单粗暴的方法):

  此解决办法来自:https://www.cnblogs.com/hedongfei/p/7652583.html

  4、在CXF调用接口的代码时,本地测试的时候,没有出现任何问题,但是将包部署到服务器的时候,client调用invoke方法的时候,出现了一段异常报错:Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC

  原因:在网上查很多资料,大多说是因为服务器环境是指向 jre 而不是JDK,导致缺失依赖 tools.jar

  解决办法:

    查看JDK配置环境 JAVA_HOME 配置是否为 JDK,如不是,改为JDK;

    服务器上给 tomcat 指定 jdk 版本:在catalina.sh(或者catalina.bat)文件的开头,写入下面代码,为该Tomcat启动时指定特定版本的 jdk,

export JAVA_HOME=/usr/local/jdk1.8      --路径是:Jdk8所在的目录
export CATALINA_OPTS="-Djava.awt.headless=true" 

  如下图:

 

Spring boot 整合CXF webservice 遇到的问题及解决的更多相关文章

  1. Spring Boot 整合 Elasticsearch,实现 function score query 权重分查询

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 预见未来最好的方式就是亲手创造未来 – <史蒂夫·乔布斯传> 』 运行环境: ...

  2. spring boot整合jsp的那些坑(spring boot 学习笔记之三)

    Spring Boot 整合 Jsp 步骤: 1.新建一个spring boot项目 2.修改pom文件 <dependency>            <groupId>or ...

  3. spring boot 系列之四:spring boot 整合JPA

    上一篇我们讲了spring boot 整合JdbcTemplate来进行数据的持久化, 这篇我们来说下怎么通过spring boot 整合JPA来实现数据的持久化. 一.代码实现 修改pom,引入依赖 ...

  4. Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...

  5. Spring Boot整合Mybatis并完成CRUD操作

    MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...

  6. spring boot整合Hadoop

    最近需要用spring boot + mybatis整合hadoop,其中也有碰到一些坑,记录下来方便后面的人少走些弯路. 背景呢是因为需要在 web 中上传文件到 hdfs ,所以需要在spring ...

  7. Spring Boot整合Elasticsearch

    Spring Boot整合Elasticsearch   Elasticsearch是一个全文搜索引擎,专门用于处理大型数据集.根据描述,自然而然使用它来存储和搜索应用程序日志.与Logstash和K ...

  8. spring boot 整合 百度ueditor富文本

    百度的富文本没有提供Java版本的,只给提供了jsp版本,但是呢spring boot 如果是使用内置tomcat启动的话整合jsp是非常困难得,今天小编给大家带来spring boot整合百度富文本 ...

  9. spring boot 整合quartz ,job不能注入的问题

    在使用spring boot 整合quartz的时候,新建定时任务类,实现job接口,在使用@AutoWire或者@Resource时,运行时出现nullpointException的问题.显然是相关 ...

随机推荐

  1. jQuery选择器(6)

    一:基本选择器 标签选择器:$("标签名"); 返回一组元素集合(匹配相同的标签名) 类选择器:$(".class类名"); 返回一组元素集合(匹配相同的cla ...

  2. Excel表格写入操作函数 C++

    #pragma once #include <stdio.h> #include <string.h> typedef unsigned short ushort; class ...

  3. Retrofit 使用简介

    一,简介 Retrofit 是目前使用广泛的 Http Client 框架,它适用于 Android 和 Java. 但需要注意的是,Retrofit 本身并不是一个网络请求框架,而是一个网络请求框架 ...

  4. CodeForce 137B

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description " ...

  5. css三类选择器 用法 引用

    css(层叠样式表): css用法:选择符{样式属性:取值;...} css选择器的分类: ①:标签选择器,such as:p{attribute:value;},p为标签选择器的name,该页面中所 ...

  6. 20191114-3 Beta阶段贡献分配

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10006 要求1 每位组员的贡献分值 贺敬文:10 王志文:9 彭思雨:8 ...

  7. vue-template-compiler作用

    vue-template-compiler的作用是什么: 看起来 template-compiler是给parse函数使用的, 那么parse函数是干什么的呢 先看一下parse的结果: 结论:使用v ...

  8. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_4 请求参数绑定集合类型

    jabaBean里面有集合的情况 把account里面的user对象先注释掉.get和set都注释掉.然后toString方法需要重写 List和Map这两种对象.生成get和set方法 toStri ...

  9. 八十四:redis之redis的集合、哈希操作

    set集合操作 添加元素:sadd set value1 value2... 查看元素:smembers set 移除元素:srem set member 查看集合中的元素个数:scard set 获 ...

  10. ButterKnifer使用

    ButterKnifer使用 1.集成 github地址: https://github.com/JakeWharton/butterknife 1.1在主Moduel中的使用 在主moduel中的b ...