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 中没有任何问题。如果我 ctrl-单击 schemaLocation,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 Validator(在 Preferences->Validation->WSDL Validator -> implementation 下拉菜单中)。我将实现重置为基于 WSDL4J 的 WSDL Validator,一切正常并按预期工作。

希望这将能够在未来帮助其他人。

于 2012-09-20T18:54:15.413 回答