解析XSD架构时出错 - 未定义的complexType

时间:2014-05-26 10:14:17

标签: c# xml asp.net-mvc-4 xsd service-reference

我目前正在尝试将此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:Paging'   用作复杂类型扩展的基础。

Paging SupportType用于complexTypes,例如

<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.letscall.pt/PortalWebAPI/metadata?xsd=1)

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

  • Wcf集合类型(voip.letscall.pt/PortalWebAPI/metadata?xsd=2)

的WSDL

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

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

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

我还尝试通过参考文献 - &gt;将其直接添加到项目中。添加服务参考,只有一个或全部,但没有运气。

1 个答案:

答案 0 :(得分:1)

XML架构文档中应该有一个名为complexType的{​​{1}},其目标命名空间映射到Paging前缀。查找文档:

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"/> 类型,或者您未导入架构,则当您尝试在扩展程序中使用该架构时,将无法找到该架构。