Ошибка генерации прокси с помощью svcutil - PullRequest
0 голосов
/ 21 июня 2010

Я создаю первый клиент SOAP по контракту. Когда я пытаюсь сгенерировать прокси-классы с помощью svcutil, я получаю сообщения об ошибках, перечисленные ниже, и классы не генерируются. Некоторые из сообщений об ошибках на голландском языке, но они похожи на ошибки в этот вопрос на MSDN . Постер этого вопроса дает следующее решение:

[...] Мастер публикаций WCF не любит множественные включения (если быть точным - более 3). ТАК, я уменьшил мои Схемы, включенные в ноль [...]

Поскольку я не контролирую wsdl и xsd, и поскольку их много и они велики, сокращение числа включаемых схем вызовет серьезные проблемы с ремонтопригодностью. Поэтому, прежде чем я попробую это, я хотел бы знать, действительно ли это является причиной проблемы. Я не могу найти подтверждение этому.

Кто-нибудь еще слышал об этом как о причине проблем? Могу ли я попробовать другие вещи?

Файлы wsdl и доступны в Интернете. Насколько я могу судить, все они действительны.

Я пытался запустить svcutil с аргументами / dcOnly и / ser: XmlSerializer, но это не помогло. Я также попытался сократить набор операций до того, что мне нужно, но это тоже не помогло.

Спасибо, Миэль.

Ошибка: проверка правильности приведенной ниже схемы, приведенной ниже, для экспортера werd gegenereerd: Брон: Регель: 17518 Колом: 6 Подтверждение: он не может быть указан в тексте: «Запрещено» (verboden), не указано, как слишком много, но не слишком важно.

Ошибка: проверка правильности приведенной ниже схемы, приведенной ниже, с указанием истца werd gegenereerd: Брон: Регель: 17519 Колом: 6 Подтверждение: все атрибуты wordt genegeerd omdat de waarde «запрещено» (verboden) или другое значение, которое можно переоценить как личность, так и идентификаторы атрибутов.

Ошибка: Kan wsdl: portType niet importeren Подробно: Это делается для того, чтобы узнать, что происходит, когда мы хотим WSDL-импорт: System.ServiceModel.Description.XmlSerializerMessageContractImporter Фоут: Кан Гин Онгельдиге Схема. Compilatie op de XmlSchemaSet является ошибкой. XPad naar foutbron: // wsdl: определения [@targetNamespace = 'http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:portType[@name='BeantwoordVraag']

Ошибка: Кан wsdl: обязательный niet importeren Подробно: Это означает, что он имеет значение van een wsdl: portType waar de wsdl: обязательный van afhankelijk. XPad naar wsdl: portType: // wsdl: определения [@targetNamespace = 'http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:portType[@name='BeantwoordVraag'] XPad naar foutbron: // wsdl: определения [@targetNamespace = 'http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:binding[@name='SOAPBeantwoordVraag']

Ошибка: Kan wsdl: port niet importeren Подробно: Это означает, что он имеет значение van een wsdl: обязательный war de wsdl: port van afhankelijk. XPad naar wsdl: binding: // wsdl: определения [@targetNamespace = 'http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:binding[@name='SOAPBeantwoordVraag'] XPad naar foutbron: // wsdl: определения [@targetNamespace = 'http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:service[@name='BeantwoordVraag']/wsdl:port[@name='BeantwoordVraag']

Генерация файлов ... Предупреждение: код не был создан. Если вы пытаетесь сгенерировать клиента, это может быть связано с тем, что документы метаданных не содержат каких-либо действующих контрактов или услуг. или потому что все контракты / услуги были обнаружены в / справочных сборках. Убедитесь, что вы передали все документы метаданных в инструмент.

Предупреждение. Если вы хотите создавать контракты данных из схем, обязательно используйте параметр / dataContractOnly.

1 Ответ

0 голосов
/ 22 июня 2010

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

После того как я удалил их, svcutil действительно сгенерировал прокси.

Так что, по крайней мере, в этом случае проблема не в том, что включает несколько включений, а в сообщениях об ошибках. Теперь мне нужно найти обходной путь для пропавших сообщений об ошибках.

Я постараюсь, чтобы этот ответ обновлялся.

...