WSDL错误:XSD:位置尚未解决

时间:2012-09-11 20:47:32

标签: xsd wsdl eclipse-indigo eclipse-juno

我刚从Eclipse Indigo(3.7)升级到Eclipse Juno(4.2),我的WSDL在Indigo中没有任何问题进行验证,我现在收到一个奇怪的警告和错误,我不明白。

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加载它,那么我会重新发生此错误。我猜测项目配置必须有一些东西,但是方面是相同的,所以我不知道哪个配置是不同的。无论如何要告诉你?

赞赏任何想法或建议!

1 个答案:

答案 0 :(得分:9)

好的 - 经过无数个小时的不同测试和试验,我终于找到了罪魁祸首。它不是我之前发布的RTC或Maven,而是使用的WSDL验证器。在安装WebSphere工具的过程中(我认为!),我似乎已经安装了IBM WSDL Validator(在Preferences-&gt; Validation-&gt; WSDL Validator - &gt;实现下拉列表中)。我将实现重置为基于WSDL4J的WSDL Validator,一切正常并且符合预期。

希望将来可以帮助其他人。