解析XSD模式时出错-未定义的complexType

本文关键字:未定义 complexType 出错 XSD 模式 解析 | 更新日期: 2023-09-27 18:05:14

我目前正试图将这个XSD作为服务引用添加到我的asp.net MVC 4项目(http://voip.letscall.pt/PortalWebAPI/metadata?xsd=1)。问题是,是否我做错了什么或文件有某种问题。当我尝试使用XSD.exe解析XSD时,它给了我这个错误

未定义的complexType"http://schemas.datacontract.org/2004/07/VS.PortalWebAPI: SupportTypes:分页"用作复杂类型扩展的基。

分页支持类型用于复杂类型,例如
<xs:complexType name="GetPbxCompanyContacts">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q13="http://schemas.datacontract.org/2004/07/VS.PortalWebAPI.API.SupportTypes" base="q13:Paging">
        <xs:sequence>
          <xs:element minOccurs="0" name="BranchId" type="xs:int" />
          <xs:element minOccurs="0" name="Login" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="GetPbxCompanyContacts" nillable="true" type="tns:GetPbxCompanyContacts" />

PortalWebAPI有5个文件:

xsd

  • 服务类型(voip. letcall .pt/PortalWebAPI/metadata?xsd=1)

  • Wcf数据类型(voip. letcall .pt/PortalWebAPI/metadata?xsd=0)

  • Wcf Collection Types (voip. letcall .pt/PortalWebAPI/metadata?xsd=2)

wsdl

  • soap11 (voip.letscall.pt/PortalWebAPI/soap11)

  • soap12 (voip.letscall.pt/PortalWebAPI/soap12)

然而,我仍然没有设法找到如何使用它。我只需要一个还是需要导入全部?

我也试过直接添加到项目中,通过参考->添加服务参考,只有一个或全部,但没有运气。

解析XSD模式时出错-未定义的complexType

在XML模式文档中应该有一个名为PagingcomplexType,其目标名称空间映射到q13前缀。查找带有:

的文档
targetNamespace="http://schemas.datacontract.org/2004/07/VS.PortalWebAPI.API.SupportTypes"

应包含Paging类型。

您还应该有一个xs:import语句:

<xs:import namespace="http://schemas.datacontract.org/2004/07/VS.PortalWebAPI.API.SupportTypes" 
           schemaLocation="/path/to/your-schema.xsd"/>

如果Paging类型没有在该命名空间中声明,或者如果您没有导入模式,那么当您尝试在扩展中使用它时,将无法找到它。