0

0

如何解决 CXF wsdl2java 因 SSL 证书验证失败导致的构建错误

霞舞

霞舞

发布时间:2026-02-05 12:26:01

|

380人浏览过

|

来源于php中文网

原创

如何解决 CXF wsdl2java 因 SSL 证书验证失败导致的构建错误

本文详解因 jdk 升级后 ssl 证书信任链缺失,导致 apache cxf 的 `cxf-codegen-plugin:wsdl2java` 在解析远程 wsdl/xsd 时抛出 `pkix path building failed` 错误的根因与完整解决方案。

该错误本质是 JDK 的信任库(cacerts)中缺少目标 HTTPS 服务(https://siemops-test.siemens-energy.com)所用 TLS 证书的可信根证书或中间证书,导致 wsdl2java 在解析 WSDL 中引用的远程 XSD(如 ?xsd=xsd5)时,SSL 握手失败:

javax.net.ssl.SSLHandshakeException: 
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target

尽管你已尝试升级 CXF(至 3.4.5)或切换 Zulu JDK 小版本(如 8.56 → 8.64),但问题未解——因为这是 JDK 级别的证书信任问题,与 CXF 版本无关。新版本 Zulu JDK(尤其是 8.64+)默认启用了更严格的证书验证策略,且其 cacerts 未预置企业内网或私有 CA 签发的证书。

✅ 正确解决方案:将目标站点证书导入 JDK 的 cacerts 信任库。

步骤一:导出目标站点证书

  1. 浏览器中访问 https://siemops-test.siemens-energy.com/SDPService_DEV/SDPSiemopsService.svc?wsdl(确保地址可访问);
  2. 点击地址栏锁形图标 → “连接安全” → “证书” → 切换到“详细信息”选项卡 → 点击“复制到文件…” → 选择“Base-64 编码 X.509 (.CER)”格式,保存为 siemops-test.cer(例如:C:\certs\siemops-test.cer)。
⚠️ 注意:若站点使用通配符证书或由内部 CA 签发,请确保导出的是根证书或完整的证书链(推荐导出整个证书路径中的“根证书”)。

步骤二:定位 JDK 的 cacerts 文件

Zulu JDK 的默认信任库路径为:

立即学习Java免费学习笔记(深入)”;

{JAVA_HOME}\jre\lib\security\cacerts

例如:

超能文献
超能文献

超能文献是一款革命性的AI驱动医学文献搜索引擎。

下载
C:\Program Files\Zulu\zulu-8\jre\lib\security\cacerts

确认当前 Maven 使用的 JDK(通过 mvn -version 或 IDE 设置),确保操作的是该 JDK 的 cacerts。

步骤三:使用 keytool 导入证书

以管理员权限打开命令行,执行:

"%JAVA_HOME%\bin\keytool" -import -trustcacerts -alias siemops-test -file "C:\certs\siemops-test.cer" -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit
  • -alias:自定义别名(建议具描述性);
  • -storepass changeit:cacerts 默认密码为 changeit(如已修改请替换);
  • 执行后会提示“是否信任此证书?[否/是]”,输入 yes 确认。

✅ 验证是否成功:

"%JAVA_HOME%\bin\keytool" -list -v -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias siemops-test

补充建议(提升健壮性)

  • CI/CD 环境:将证书导入步骤写入构建脚本(如 Jenkins pipeline),或通过 -Djavax.net.ssl.trustStore=... 指定自定义 truststore;
  • 多环境管理:避免直接修改系统 cacerts,可创建专用 truststore 并在 Maven 中配置插件 JVM 参数:
    
      org.apache.cxf
      cxf-codegen-plugin
      
        -Djavax.net.ssl.trustStore=C:/certs/my-truststore.jks -Djavax.net.ssl.trustStorePassword=mypassword
      
    
  • ❌ 不推荐方案:禁用 SSL 验证(如 -Dcom.sun.net.ssl.checkRevocation=false 或自定义 TrustManager),违反安全最佳实践,禁止用于生产环境。

完成上述操作后,重新运行 mvn clean generate-sources,wsdl2java 将能成功下载并解析远程 XSD,构建即可恢复正常。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

apache是什么意思
apache是什么意思

Apache是Apache HTTP Server的简称,是一个开源的Web服务器软件。是目前全球使用最广泛的Web服务器软件之一,由Apache软件基金会开发和维护,Apache具有稳定、安全和高性能的特点,得益于其成熟的开发和广泛的应用实践,被广泛用于托管网站、搭建Web应用程序、构建Web服务和代理等场景。本专题为大家提供了Apache相关的各种文章、以及下载和课程,希望对各位有所帮助。

412

2023.08.23

apache启动失败
apache启动失败

Apache启动失败可能有多种原因。需要检查日志文件、检查配置文件等等。想了解更多apache启动的相关内容,可以阅读本专题下面的文章。

931

2024.01.16

Java 流式处理与 Apache Kafka 实战
Java 流式处理与 Apache Kafka 实战

本专题专注讲解 Java 在流式数据处理与消息队列系统中的应用,系统讲解 Apache Kafka 的基础概念、生产者与消费者模型、Kafka Streams 与 KSQL 流式处理框架、实时数据分析与监控,结合实际业务场景,帮助开发者构建 高吞吐量、低延迟的实时数据流管道,实现高效的数据流转与处理。

6

2026.02.04

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2271

2024.08.16

SSL检测工具介绍
SSL检测工具介绍

SSL检测工具有SSL Labs、SSL Check、SSL Server Test、SSLMate、SSL/TLS Analyzer等。详细介绍:1、SSL Labs是一个由Qualys提供的在线SSL检测工具,可以评估服务器证书的部署情况、加密套件、协议支持等方面的安全性,它提供了一个详细的报告,包括证书的颁发者、有效期、安全性配置等;2、SSL Check等等。

346

2023.10.20

微信网页版文件传输助手教程合集
微信网页版文件传输助手教程合集

本专题整合了微信网页版文件传输助手教程、入口等等内容,阅读专题下面的文章了解更多详细内容。

15

2026.02.04

微信文件过期恢复教程
微信文件过期恢复教程

本专题整合了微信文件过期恢复方法、技巧教程,阅读专题下面的文章了解更多详细内容。

10

2026.02.04

抖音网页版入口与视频观看指南 抖音官网视频在线访问
抖音网页版入口与视频观看指南 抖音官网视频在线访问

本专题汇总了抖音网页版的入口链接、官方登录页面以及视频观看入口,帮助用户快速访问抖音网页版,提供免登录访问方式和直接进入视频播放页面的方法,确保顺利浏览和观看抖音视频。

93

2026.02.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 3.2万人学习

C# 教程
C# 教程

共94课时 | 8.6万人学习

Java 教程
Java 教程

共578课时 | 57.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号