无法在Eclipse中的WSDL中解析可能Eclipse导入错误的定义



最初将完整的项目加载到Eclipse之后,以进行更改,我会在包含的WSDL内的3个组件上遇到错误。


错误

" src-resolve:无法解析名称'tns:aeexceptionbo'到(n)'type>"定义"组件。"


这三个要素
*submitcallfault1_submitcallfault
*getOutAgestatusfault1_getOutAgestatusFault
*getoutagecircuitfault1_getoutagecircuitfault

据我所知,当前存在的导入(WSDL第8行)应正确加载XSD文件,项目中不存在其他错误。有人知道为什么Eclipse无法处理此WSDL?

WSDL (相关零件)

<wsdl:definitions name="AEAdmsAecServiceDelegate"
    targetNamespace="http://www.orgname.com/esd/adms/aecall/V1"
    xmlns:tns="http://www.orgname.com/esd/adms/aecall/V1" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
        <xsd:schema targetNamespace="http://www.orgname.com/esd/adms/aecall/V1">
            <xsd:import namespace="http://www.orgname.com/esd/aeservices/lib/V1"
                schemaLocation="wsdl/AEAdmsAecService/AEExceptionBO.xsd" />
            <xsd:element name="submitCallFault1_submitCallFault"
                nillable="true" type="bons0:AEExceptionBO" />
            <xsd:element name="getOutageStatusFault1_getOutageStatusFault"
                nillable="true" type="bons0:AEExceptionBO" />
            <xsd:element name="getOutageCircuitFault1_getOutageCircuitFault"
                nillable="true" type="bons0:AEExceptionBO" />
         </xsd:schema targetNamespace>

XSD (在子目录中,由WSDL导入)

<xsd:schema targetNamespace="http://www.orgname.com/esd/aeservices/lib/V1"
    xmlns:bons0="http://www.orgname.com/esd/aeservices/lib/V1"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:include schemaLocation="NameValueBO.xsd" />
    <xsd:complexType name="AEExceptionBO">
        <xsd:sequence>
            <xsd:element minOccurs="1" name="appName" type="xsd:string" />
            <xsd:element minOccurs="0" name="moduleName" type="xsd:string" />
            <xsd:element minOccurs="1" name="errorCode" type="xsd:string">
            </xsd:element>
            <xsd:element minOccurs="1" name="message" type="xsd:string" />
            <xsd:element minOccurs="1" name="exceptionTime" type="xsd:dateTime">
            </xsd:element>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="nameValues"
                type="bons0:NameValueBO">
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>

已省略了WSDL和其他已加载XSD文件的部分。

通常,这可能是由于将多个模式导入到同一名称空间中而引起的。我注意到WSDL架构在http://www.orgname.com/esd/aeservices/lib/V1targetNamespace中,但是下面的第一个动作是将其他XSD导入到同一名称空间中。我认为这里发生的事情是Eclipse可能会采用一个或另一个,然后未能在该名称空间中找到适当的类型定义。

考虑将这两个命名空间进行解密,以便每个文件使用一个名称空间。阅读此相关问题 - 它可能有助于在这里理解。导入应该用于拉出另一个命名空间,并且应该使用inclage将几个不同的文件共同定义一个单个名称空间。

最新更新