由于 wsdl 无效,从 wsdl 文件生成代码时出错

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

我目前在工作中遇到了从 wsdl 文件生成 SOAP api 客户端代码的问题。该文件可供公众访问此处。我特别希望使用的名为 GetListingInteraction_1.0_rivtabp20.wsdl。我知道它依赖于其他三个 xsd 文件 crm_carelisting_1_0.xsdGetListing_1_0.xsdws-addressing-1.0.xsd

我正在使用包 com.yupzip.wsdl2java

我们将 kotlin 与 java 11 一起使用。

这是 wsdl2java 的 gradle.build 配置文件的样子:

plugins {
  id 'com.yupzip.wsdl2java' version "$wsdl2java_version"
}


wsdl2java {
wsdlsToGenerate = [
        [
                '-p', 'generated.com.test.microservice.test.resources.models.listing.getlistinginteraction',
                '-wsdlLocation', 'classpath:wsdl/GetListingInteraction_1.0_rivtabp20.wsdl', "$projectDir/src/main/resources/wsdl/GetListingInteraction_1.0_rivtabp20.wsdl"
        ],
]
wsdlDir = file("$projectDir/src/main/resources/wsdl")
cxfVersion = "3.5.5"
cxfPluginVersion = "3.5.5"

}

我们收到的错误。

无法为方法 [getListing] 中的 [逻辑地址] 部分创建 java 参数 - 此 wsdl 无效,请使用 wsdlvalidator 工具验证此 wsdl

我已经检查了 wsdl 文件、验证、格式化等,但对我来说一切看起来都不错。总的来说,我对 SOAP 和 WSDL 不太有经验,而且有点不知道该做什么。我们还有另一项服务,能够在系统的另一部分为另一个 SOAP API 生成具有完全相同设置的客户端代码。使用相同版本的 wsdl2java 依赖项和配置,只是wsdlsToGenerate中的其他 wsdl 文件。

有人愿意尝试自己复制一下,看看你是否遇到同样的问题吗?如果您找到解决方案,我将非常感激。

如果您需要更多信息,请告诉我。

我在这里的一个小项目中复制了它https://github.com/Menyten/wsdltest

java kotlin soap wsdl wsdl2java
1个回答
0
投票

我解决了这个问题。显然我需要一些额外的论据才能让这一代人发挥作用。我查看了原始项目的 pom.xml 文件,并在 wsdlOptions 下看到了相关文件的额外参数

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