我刚刚从Eclipse Indigo(3.7)升级到Eclipse Juno(4.2),并且我的WSDL在Indigo中没有任何问题进行验证,现在我得到一个奇怪的警告和错误,我不明白。WSDL错误:XSD:位置尚未解决
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>
朱诺标志着XSD:以下警告进口线:
XSD: The location 'CalculateProfitabilityRequest.xsd' has not been resolved
然后,它标志了XSD:与下面的错误元素行:
XSD: Type reference 'http://www.domain.com/ClientServices/LendingSimulation/CalculateProfitabilityRequest#CalculateProfitabilityRequestType' is unresolved
我很难过。我不仅不明白警告或错误消息的含义,我不明白为什么Juno会将此标记为问题,但在Indigo中没有问题。如果我按住Ctrl点击schemaLocation,Eclipse会打开关联的xsd文件,所以它不是Eclipse找不到文件的问题。
我已经尝试清理项目,但它没有任何区别。
编辑
我咬了咬牙决定重新安装靛蓝的Java EE(3.7)。但是,现在当我加载我的项目时,我得到了和Juno一样的错误!所以看起来它不是Juno本身,而是我的配置中的某些内容不正确。但是,我不知道在哪里可以找到问题,或者Eclipse为什么抱怨该位置没有解决。这几乎就像我不得不预先加载Eclipse中的文件,但我不知道如何。
如果我删除了该项目,并将该项目重新加载为现有的Maven项目,则所有警告和错误消息都将消失。但是,该项目与我的SCM无关。如果我通过SCM加载它,那么我会再次出现这个错误。我猜测项目配置必须有一些东西,但方面是相同的,所以我不知道哪个配置是不同的。无论如何要告诉?
任何想法或建议表示赞赏!
它可能不是一个文件不存在的问题,但它*很明显是验证程序没有找到文件“CalculateProfitabilityRequest.xsd”的问题。如果验证程序未找到包含第二条错误消息中指定的类型声明的模式文档,则错误消息正是预期的结果。猜想:验证程序用于解析相对URI的基础URI在两个Eclipse版本之间发生了变化。 –
非常有趣的想法。任何想法,我可以验证/验证你的猜想?任何想法,如果/哪里可以配置或做什么来避免它? –