You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java升级至21后Mirth Connect触发SOAP请求报SAAJ元工厂错误

Mirth Connect 4.5.2 + Java 21 SOAP请求失败问题解决

问题根源

  1. Java版本不兼容:Mirth Connect 4.5.2官方仅支持Java 8、11、17,Java 18及以上版本不在官方兼容列表内,这是触发问题的核心原因之一。
  2. SAAJ内部API被移除:Java 16及后续版本砍掉了com.sun.xml.internal.messaging.saaj这类JDK自带的内部SAAJ实现API,而Mirth的SOAP组件原本依赖这些类,升级到Java 21后自然找不到对应类,引发报错。

解决办法

办法1:切回兼容的Java版本

直接将Java运行时换回17(或官方支持的8/11版本),这是最稳妥的操作,能立刻恢复SOAP功能,同时避免其他未知兼容性问题。

办法2:适配Jakarta SAAJ依赖(临时 workaround,不保证长期稳定)

如果必须使用Java 21,可以尝试调整依赖包配置:

  • 先删除你之前放入C:\Program Files\Mirth Connect\server-lib目录的saaj-impl-1.5.3.jar、jakarta.xml.soap-api-1.4.2.jar、activation-1.1.1.jar,这些版本与Java 21不匹配。
  • 下载适配Jakarta EE 9+的版本:jakarta.xml.soap-api-2.0.1.jar和saaj-impl-2.0.1.jar(注意选择Jakarta命名空间的版本,而非旧的javax版本)。
  • 将这两个jar包放入C:\Program Files\Mirth Connect\custom-lib目录(不要放server-lib,custom-lib的加载优先级更高,可覆盖Mirth自带的旧依赖)。
  • 重启Mirth Connect服务,测试SOAP请求是否恢复正常。

补充说明

  • Mirth Connect并未停止对SOAP的支持,问题仅源于高版本Java移除了它依赖的内部API,且官方暂未适配Java 18+版本。
  • 办法2属于非官方兼容手段,后续Mirth版本更新或复杂业务场景下可能出现其他问题,优先选择办法1更可靠。

内容的提问来源于stack exchange,提问作者naban Padma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:22:35