繁体   English   中英

Apache 轴 1.4 Java 12

[英]Apache Axis 1.4 on Java 12

我目前正在尝试从 Java 8 项目迁移到 Java 12。(希望)最后一个障碍是我们被迫使用的旧 WebService。 在 Java 8 中“按原样”使用 WebService 本身不是问题,它已经工作了很多年。

wsdl 状态:

<:--由 Apache 轴版本创建的 WSDL。 1.4

建于 2006 年 4 月 22 日 -->

据我所知,新版本的 WSDL2JAVA 不再支持这种类型的服务(因为它们依赖于 Axis 2):

WSDLToJava 错误:CXF 不支持 Rpc/编码的 wsdls

为了使该服务可用(使用 Java 812),我需要以下库:

<!-- https://mvnrepository.com/artifact/javax.xml.rpc/javax.xml.rpc-api -->
<dependency>
    <groupId>javax.xml.rpc</groupId>
    <artifactId>javax.xml.rpc-api</artifactId>
    <version>1.1.2</version>
</dependency>

这就是问题发生的地方。 该库定义了部分 package javax.xml不再允许,因为它是 Java 系统路径。 有什么建议或解决方法吗? 我忽略了什么吗?

编辑: ZhekaKozlov 不得不切换到jakarta是对的。 现在还有一个错误,因为Axis2,在项目中也是需要的。

<!-- https://mvnrepository.com/artifact/org.apache.axis2/axis2-kernel -->
<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-kernel</artifactId>
    <version>1.7.9</version>
</dependency>

只需将其添加到新的 Java 12 项目中,就会使org.w3c.dom.* (例如文档)无法使用。

EDIT2:我终于让一切正常了。 程序正在运行,代码中没有任何错误。 不幸的是,我无法测试应用程序的 Axis 部分,因为它所连接的服务只能在我们客户的环境中使用,因此必须对其进行测试。 在axis2和axis2-adb上,我必须排除两个库:

<exclusions>
    <exclusion>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-stax-api_1.0_spec</artifactId>
    </exclusion>
    <exclusion>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
    </exclusion>
</exclusions>

他们分别阻止了 org.w3c.dom.* 和 javax.xml.stream.*。

由于 Java EE 更名为Jakarta EE ,您应该使用新的工件:

<dependency>
    <groupId>jakarta.xml.rpc</groupId>
    <artifactId>jakarta.xml.rpc-api</artifactId>
    <version>1.1.4</version>
</dependency>

新工件不再包含拆分 package。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM