1

我在尝试生成一些 Java 类时遇到问题。

C:\Users\kon\Desktop>wsimport -keep -verbose -extension -d generated http://XXXXXXWebServicesPort?wsdl
parsing WSDL...

[INFO] Trying to read authorization file : "C:\Users\kon\.metro\auth"...

[ERROR] Schema descriptor {http://www.w3.org/2001/XMLSchema}string in message part "return" is not defined and could not be bound to Java. Perhaps the schema descriptor {http://www.w3.org/2001/XMLSche
ma}string is not defined in the schema imported/included in the WSDL. You can either add such imports/includes or run wsimport and provide the schema location using -b switch.
  line 81 of http://XXXXXXWebServicesPort?wsdl

这里是第 81 行的内容:

<message name="getJDBCConnectionURLOutput">
    <part name="return" element="xsd:string"/>
</message>

我之前没有使用过 wsimport,在网上找不到任何类似的问题。这是拼写问题吗?

4

1 回答 1

1

我认为 WSDL 是错误的。

它认为您正在指向一个名为 xsd:string 的元素,该元素在 WSDL 的前面定义。

所以 xsd:string 不正确,它应该是您之前定义的某种类型。

将其与此处的一些示例进行比较:http: //www.w3.org/2001/03/14-annotated-WSDL-examples

高温高压

编辑:您不能直接将其定义为字符串类型。也许你的意思是:

<part name="return" type="xsd:string"/>

编辑:也许 WSDL 规范中的这些信息会有所帮助: http ://www.w3.org/TR/wsdl#_soap:body

于 2012-02-20T14:25:07.173 回答