Java 12上的Apache Axis 1.4

我目前正在尝试从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不得不改用 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。* (例如Document)无法使用。

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。*。

tbea001 回答:Java 12上的Apache Axis 1.4

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

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

新工件不再包含split软件包。

本文链接:https://www.f2er.com/3052101.html

大家都在问