我目前在工作中遇到了一个从wsdl文件生成SOAP API客户端代码的问题。有问题的文件可用于公共here。我特别希望使用的文件名为GetListingInteraction_1.0_rivtabp20.wsdl。我知道它依赖于其他三个xsd文件crm_carlisting_1_0.xsd,GetListing_1_0.xsd和ws-addressing-1.0.xsd。
我正在使用com.yupzip.wsdl2java包
我们在java 11中使用了Kotlin。
下面是wsdl 2 java的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]中为部件[logicalAddress]创建java参数-此wsdl无效,请使用wsdlvalidator工具验证此wsdl
我已经检查了wsdl文件,验证,格式化等,但对我来说一切都很好。我对SOAP和WSDL总体来说不是很有经验,我有点不知所措。我们有另一个服务,它能够在系统的另一部分为另一个SOAP API生成具有完全相同设置的客户端代码。使用相同版本的wsdl 2 java依赖项以及配置,只是wsdlsToGenerate中的其他wsdl文件。
有没有人好心地尝试自己复制它,看看你是否遇到同样的问题?如果你找到了解决方案,我会非常感激。
如果你需要更多的信息让我知道。
我在这里的一个小项目中复制了它https://github.com/Menyten/wsdltest
1条答案
按热度按时间tvokkenx1#
我发现了这个问题。显然,我需要一些额外的参数来使生成工作。我查看了原始项目的pom. xml文件,并在wsdlOptions下看到了有关文件的额外参数