Visual Studio的wsdl.exe在我的架构中找不到某些信息。不确定这是不是一个错误

时间:2008-11-07 22:53:46

标签: xml visual-studio wsdl schema wsdl.exe

当我使用wsdl.exe从我的wsdl创建客户端时,它完成了O.K.,但在文件中插入以下注释:

// CODEGEN:参数'VerificationData'需要使用参数模式无法捕获的其他架构信息。具体属性为'System.Xml.Serialization.XmlArrayItemAttribute'。

我无法弄清楚wsdl中应该有哪些附加信息,其中相关部​​分如下所示:

<xsd:complexType name="VerificationDataType">
  <xsd:sequence>
    <xsd:element name="Item" type="VerificationItemType" minOccurs="0" maxOccurs="unbounded" />
  </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="VerificationItemType">
  <xsd:simpleContent>
    <xsd:extension base="xsd:string">
        <xsd:attribute name="type" type="xsd:string" use="required" />
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我无法从您提供的WSDL片段中看出来,但我想知道您是否需要在Item元素中使用的类型上使用命名空间,例如

<xsd:element name="Item" type="ns:VerificationItemType" minOccurs="0" maxOccurs="unbounded" />

其中ns是命名空间别名。

当我尝试使用VisualStudio 2008附带的wsdl.exe重现您的问题时,收到错误消息

  - The datatype 'http://schemas.xmlsoap.org/wsdl/:VerificationItemType' is missing.

添加命名空间会删除该消息。