gpt4 book ai didi

c# - 解析 XSD 架构时出错 - 未定义的复杂类型

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:52 26 4
gpt4 key购买 nike

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

Undefined complexType 'http://schemas.datacontract.org/2004/07/VS.PortalWebAPI:SupportTypes:Paging' is used as a base for complex type extension.

Paging SupportType用在复杂类型上,比如

<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 个文件:

XSDS

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

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

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

WSDLS

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

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

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

我也尝试过直接将它添加到项目中,通过 References -> Add Service Reference,只有一个或全部,但没有成功。

最佳答案

在 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 类型未在该命名空间中声明,或者如果您未导入模式,则当您尝试在扩展中使用它时将找不到它。

关于c# - 解析 XSD 架构时出错 - 未定义的复杂类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23867843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com