架构是指架构中定义的类型,但 wsdl 中不包含该架构。SOAP-ENC:Array
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/
我遇到了类似的问题,不得不使用目录来告诉jaxb / xjc在哪里可以找到模式。
转到 http://schemas.xmlsoap.org/soap/encoding/ 并另存为 soapenc.xsd
然后创建一个包含以下内容的纯文本文件
PUBLIC "http://schemas.xmlsoap.org/soap/encoding/" "soapenc.xsd"
然后将该文件作为目录文件传递给 xjc
更新:如果你在maven上,这就是它如何挂在一起。
将 schema、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>