wsdl: тип * не объявлен - PullRequest
0 голосов
/ 25 июня 2009

Кажется, что вложенный элемент с пользовательским типом не работает в Visual Studio 2008. У меня есть следующий файл wsdl:

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 xmlns:ns1="http://org.apache.axis2/xsd"
 xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
 xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:ns0="http://processmaker.com"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
 targetNamespace="http://processmaker.com">
  <wsdl:types>
     <xs:element name="processListStruct" >
        <xs:complexType >
          <xs:sequence >
            <xs:element name="guid" type="xs:string"/>
            <xs:element name="name" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
     <xs:element name="processListResponse" >
        <xs:complexType >
          <xs:sequence >
            <xs:element name="processes" maxOccurs="unbounded" type="ns0:processListStruct"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
</wsdl:types>
<!-- snip other definition -->
</wsdl:definitions>

Однако внутри Visual Studio я получил " тип processListStruct, не объявленный как ошибка ", когда я наводил курсор мыши на строку <xs:element name="processes" maxOccurs="unbounded" type="ns0:processListStruct"/>. И, как я хотел сгенерировать прокси-класс, используя следующую команду,

wsdl /out:mycsclass.cs blahblah.wsdl

Я получил сообщение о том, что

The datatype 'http://processmaker.com:processListStruct' is missing.

Как это исправить, и есть ли другой инструмент, кроме wsdl, который может успешно преобразовать вышеуказанный элемент?

Ответы [ 2 ]

0 голосов
/ 23 июля 2009

Как ответила Microsoft, это не ошибка WSDL.EXE, это ошибка в схеме:

<xs:element name="processes" maxOccurs="unbounded" type="ns0:processListStruct"/>

Тем не менее, как мы видим:

<xs:element name="processListStruct" >

processListStruct это элемент, а не тип.

0 голосов
/ 25 июня 2009

Я считаю, что это ошибка wsdl.exe, и я сообщил об этой проблеме в Microsoft.

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