Java 12上的Apache Axis 1.4

问题描述 投票:3回答:1

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

wsdl状态:

建立于2006年4月22日->

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

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

为了使此服务可用(在Java 8 12中可用,我需要以下库:

<!-- 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>

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

编辑:ZhekaKozlov对必须切换到雅加达是正确的。由于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。*(例如Document)不可用。

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

<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 axis jax-rpc java-12 javax.xml
1个回答
1
投票

由于Java EE被重命名为Jakarta EE,因此您应该使用新的工件:

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

新的工件不再包含split包。

© www.soinside.com 2019 - 2024. All rights reserved.