我刚刚从 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 中没有任何问题。如果我 ctrl-单击 schemaLocation,Eclipse 会打开相关的 xsd 文件,因此 Eclipse 找不到该文件不是问题。
我试过清理项目,但没有任何区别。
编辑
我硬着头皮决定重新安装 Indigo Java EE (3.7)。但是,现在当我加载我的项目时,我得到了与 Juno 相同的错误!所以看起来它不是 Juno 本身,而是我的配置中不正确的东西。但是,我不知道在哪里可以找到问题,也不知道为什么 Eclipse 抱怨该位置未解决。就好像我必须以某种方式在 Eclipse 中预加载文件,但我不知道如何。
如果我删除该项目,并将该项目重新加载为现有的 Maven 项目,那么所有警告和错误消息都会消失。但是,该项目随后变得与我的 SCM 无关。如果我通过 SCM 加载它,则会再次出现此错误。我猜项目配置肯定有什么问题,但是方面是相同的,所以我不知道哪个配置不同。有什么要说的吗?
任何想法或建议表示赞赏!