1

Eclipse Indigo(3.7)からEclipse Juno(4.2)にアップグレードしたところ、IndigoでWSDLが問題なく検証されたところ、理解できない奇妙な警告とエラーが発生しました。

WSDLスニペット:

<wsdl:types>
    <xsd:schema 
        targetNamespace="http://www.domain.com/ClientServices/LendingSimulation/V1"
        xmlns:cpReq="http://www.domain.com/ClientServices/LendingSimulation/CalculateProfitabilityRequest" 
        xmlns:cpRes="http://www.domain.com/ClientServices/LendingSimulation/CalculateProfitabilityResponse" 
        xmlns:error="http://www.domain.com/fw/errorMgmt">

        <xsd:import namespace="http://www.domain.com/ClientServices/LendingSimulation/CalculateProfitabilityRequest" schemaLocation="CalculateProfitabilityRequest.xsd" />

        <xsd:element name="calculateProfitabilityRequest" type="cpReq:CalculateProfitabilityRequestType" />

    </xsd:schema>
</wsdl:types>

Junoは、xsd:import行に次の警告を付けます。

XSD: The location 'CalculateProfitabilityRequest.xsd' has not been resolved

次に、xsd:element行に次のエラーのフラグを立てます。

XSD: Type reference 'http://www.domain.com/ClientServices/LendingSimulation/CalculateProfitabilityRequest#CalculateProfitabilityRequestType' is unresolved

私はかなり困惑しています。警告またはエラーメッセージの意味がわからないだけでなく、Junoがこれを問題としてフラグ付けしている理由もわかりませんが、Indigoでは問題はありません。schemaLocationをCtrlキーを押しながらクリックすると、Eclipseは関連するxsdファイルを開くので、Eclipseがファイルを見つけられないという問題ではありません。

プロジェクトのクリーニングを試みましたが、違いはありません。

編集

私は弾丸を噛み、Indigo Java EE(3.7)を再インストールすることにしました。ただし、プロジェクトをロードすると、Junoと同じエラーが発生します。したがって、それはJuno自体ではなく、私の構成の中で正しくないものであるように見えます。ただし、問題がどこにあるのか、または場所が解決されないとEclipseが不平を言っている理由がわかりません。どういうわけかEclipseにファイルをプリロードする必要があるかのようですが、その方法がわかりません。

プロジェクトを削除し、プロジェクトを既存のMavenプロジェクトとしてリロードすると、すべての警告メッセージとエラーメッセージが消えます。ただし、プロジェクトは私のSCMとの関連付けが解除されます。SCMを介してロードすると、このエラーが繰り返し発生します。プロジェクトの構成には何かあるはずだと思いますが、ファセットは同じなので、どちらの構成が違うのかわかりません。とにかく言うことはありますか?

どんな考えや提案もありがたいです!

4

1 に答える 1

9

わかりました-それで、数え切れないほどのさまざまなテストと試行の後、私はついに犯人を見つけました。以前に投稿したRTCやMavenではなく、WSDLバリデーターが使用されていました。WebSphereツールをインストールする過程で(私は思います!)、IBM WSDLバリデーターをインストールしたようです([設定]->[検証]->[WSDLバリデーター]->[実装]ドロップダウン)。実装をWSDL4JベースのWSDLValidatorにリセットすると、すべてが正常に期待どおりに機能します。

うまくいけば、これは将来誰かを助けることができるでしょう。

于 2012-09-20T18:54:15.413 に答える