2012-02-20 8 views
1

いくつかのJavaクラスの生成中に問題が発生しています。java wsimport string

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

+0

はあなたが間のすべての制御文字を持っていないよろしいですが'のxsd:string @ 81? –

+0

これをWireSharkでチェックしましたが、正しいと思われます。[リンク](http://img217.imageshack.us/img217/5594/stringh.png) – kon

+0

下の回答は読んでいますか? – davidfrancis

答えて

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の仕様では、この情報が役立ちます:「:」と「sの http://www.w3.org/TR/wsdl#_soap:body

+0

ちょっと@davidfrancis、ありがとうございました。 xsd:stringは、xmlns:xsd = "http://www.w3.org/2001/XMLSchema"で定義されています。私の同僚は、文字列に問題があるパーサーがいることを教えてくれました。最新のバージョンの軸は正しく動作するはずです。私はこのステートメントのバグレポートを見つけることができました。 – kon

+0

私の回答を編集してください – davidfrancis

+0

それはあなたが探しているかもしれません。 – davidfrancis