gpt4 book ai didi

java - JAXWS 代码生成和实现以及 JDK1.5 的 Spring

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:02 24 4
gpt4 key购买 nike

我们正在尝试从一系列 WSDL(每个都有自己的 XSD)生成源代码 stub 。我们可以做到这一点并在 JDK1.6 下完美地工作,但是我们需要它在 JDK1.5 下工作。

我们使用 jaxws-maven-plugin 生成源代码,但这取决于可用的 wsimport 二进制文件(这在 JDK1.5 中不可用)。我们找到了一个 work around为此,我们现在可以生成源代码。

当我们尝试将已编译的 stub 代码与 Spring (2.5.6) 一起使用时,最后一个问题出现了,我们正在使用 JaxWsPortProxyFactoryBean 与生成的客户端代码进行交互。我们得到一个 java.lang.NoClassDefFoundError: javax/xml/ws/soap/Addressing。我调查了这是为什么,发现 javax.xml.ws/javax-api/2.1 依赖项不包含此类。我将版本号升级到 2.1-1,现在当我们构建项目(生成源代码)时出现以下错误:

cannot find symbol
symbol : method partName()
location : @interface javax.jws.WebParam

任何人都可以为此提供解决方案,以便我们可以生成我们的 JAXWS 客户端 stub 代码并使其与 JaxWsPortProxyFactoryBean 一起工作吗?

提前致谢

乔纳森

最佳答案

他们似乎把这个 jar 弄乱了,参见 this link .

解决方法如下:

  1. 删除M2_REPO/javax/xml/ws/jaxws-api/2.1/目录
  2. 使用这个依赖

    <dependency>
    <groupId>javax.xml.ws</groupId>
    <artifactId>jaxws-api</artifactId>
    <version>2.1</version>
    </dependency>
  3. 将这些存储库放在列表的顶部:

    <repository>
    <id>javanet</id>
    <url>http://download.java.net/maven/2/</url>
    </repository>
    <repository>
    <id>javanet legacy</id>
    <url>http://download.java.net/maven/1/</url>
    <layout>legacy</layout>
    </repository>

关于java - JAXWS 代码生成和实现以及 JDK1.5 的 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1649614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com