Файл wsdl.exe в Visual Studio не может найти некоторую информацию в моей схеме. Не уверен, что это ошибка - PullRequest
0 голосов
/ 08 ноября 2008

Когда я использую 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 Ответ

1 голос
/ 09 ноября 2008

Я не могу понять из предоставленного вами фрагмента WSDL, но мне интересно, нужно ли вам пространство имен для типа, используемого в элементе Item, например что-то вроде

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

где ns - псевдоним пространства имен.

Когда я пытался воспроизвести вашу проблему с помощью wsdl.exe, который поставляется с VisualStudio 2008, я получаю сообщение об ошибке

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

Добавление пространства имен избавляет от сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...