Java 14客户端生成器的替代对Axis 1.4而言WSDL,支持“ RPC /编码”格式 javaws-maven-plugin cxf-codegen-plugin 第2轴

问题描述

问题

Axis 1.4和JDK 14

我试图将我们的应用程序从Java 8更新到Java 14,并且这样做,我发现Axis 1.4似乎生成的客户端代码对于新版本的Java不再有效。

问题归结为在JDK 14上运行时Axis使用com.sun.net.ssl.internal.ssl.Provider ...,这引发了NoClassDefFoundError

Caused by: java.lang.NoClassDefFoundError: com/sun/net/ssl/internal/ssl/Provider

RPC /编码的WSDL

我要解析的WSDls是来自第三方的,不幸的是,它们是RPC/encoded,直到现在我还不知道,它是WSDL格式的旧版,似乎不再受支持。 / p>

因此,我寻找Axis 1.4替代品的旅程-由于它本身是一个非常过时的库,因此很高兴处理旧版RPC/encoded格式。


尝试的解决方

寻找替换罐

我的第一个想法是研究com.sun.net.ssl.internal.ssl.Provider是否生活在Maven Central的jar中……类似于在Java最新版本中如何将其他一些内置程序包移至外部jar中。 。我发现该软件包是作为JDK-8218932的一部分而删除的,但是我的研究不力,无法找到建议的依赖项,我可以在其中使用它。

其他WSDL到Java方法

接下来,我尝试使用我发现的其他一些WSDL到Java生成器...不幸的是,它们似乎都不支持第三方WSDL所使用的传统RPC/encoded格式。

javaws-maven-plugin

[ERROR] "Use of SOAP Encoding is not supported.
SOAP extension element on line 46 in file:/<path>/wsdl/kas.wsdl has use="encoded" "

cxf-codegen-plugin

Execution kas of goal org.apache.cxf:cxf-codegen-plugin:3.3.7:wsdl2java Failed:
Rpc/encoded wsdls are not supported with CXF

第2轴

无需费心尝试,因为它明确指出了on their website

请注意,Axis2当前不支持rpc /编码样式。

询问第三方以更新WSDL

我计划与第三方联系,看看他们是否可以更新其WSDL ...但是,它们似乎目前是由Axis 1.3生成的,就像它们一样:

<!--WSDL created by Apache Axis version: 1.3

我不确定如何向他们确切展示他们需要做些什么,以便将他们的系统切换到更新的WSDL样式。另外,我对他们是否愿意更改并没有太大的信心,因为他们集成了多个不同的版本,这将影响他们所有其他具有集成的客户。


谢谢

任何建议将不胜感激

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)