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を使用したことがなく、Web上で同様の問題を見つけることができませんでした。これはスペルの問題ですか?

4

1 に答える 1

1

WSDLが間違っていると思います。

これは、WSDLで以前に定義されたxsd:stringという要素を指していると見なします。

したがって、xsd:stringは正しくありません。これは、前に定義したタイプである必要があります。

ここにあるいくつかの例と比較してください:http ://www.w3.org/2001/03/14-annotated-WSDL-examples

HTH

編集:そのような文字列タイプとして直接定義することはできません。多分あなたはこれを意味しました:

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

編集:WSDL仕様のこの情報が役立つかもしれません: http ://www.w3.org/TR/wsdl#_soap:body

于 2012-02-20T14:25:07.173 に答える