gpt4 book ai didi

java - Clickatell SOAP wsdl 到 JAXB java 类

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:16 26 4
gpt4 key购买 nike

我正在尝试从 Clickatell wsdl 生成 JAXB 类:您可以在此处找到相当大的 wsdl 定义: http://api.clickatell.com/soap/webservice.php?WSDL

当试图从这个 Wsdl 生成 java 类时,我得到了以下错误:[错误] 未定义的简单或复杂类型 'SOAP-ENC:Array'[错误] 未定义属性 'SOAP-ENC:arrayType'

我希望有人能帮助我。干杯,蒂姆

最佳答案

您的模式指的是类型 SOAP-ENC:Array在架构中定义 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/但该架构未包含在 wsdl 中。

我遇到了类似的问题,不得不使用目录来告诉 jaxb/xjc 在哪里可以找到模式。

转到 http://schemas.xmlsoap.org/soap/encoding/并另存为soapenc.xsd

然后创建一个包含以下内容的纯文本文件

PUBLIC "http://schemas.xmlsoap.org/soap/encoding/" "soapenc.xsd"

然后将该文件作为目录文件传递给xjc


更新:如果您使用的是 maven,这就是它们如何结合在一起的方式。

将架构、soapenc.xsd 和 catalog.cat(纯文本文件)放在 src/main/resources 中

然后告诉jaxb插件把目录传给xjc

<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<executions>
<execution>
<id>wsdl-generate</id>
<configuration>
<schemaIncludes>
<include>*.wsdl</include>
</schemaIncludes>
<catalog>${project.basedir}/src/main/resources/catalog.cat</catalog>
</configuration>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>

关于java - Clickatell SOAP wsdl 到 JAXB java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401661/

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