Почему я не могу сгенерировать код клиента из этого файла WSDL в Visual Studio? - PullRequest
3 голосов
/ 08 марта 2011

Я пытаюсь кодировать клиент .NET для API cleverreach (файл WSDL: http://api.cleverreach.com/soap/interface_v4.php?wsdl, документация по http://api.cleverreach.com/soap/interface_v4.php) в Visual Studio 2010.

Проблема в том, что независимо от того, что я делаю, нет никакого способа создать код C # для этого API.

Я пробовал оба способа - добавить ссылку на сервис и веб-ссылку. В обоих случаях не было никакого кода, сгенерированного для методов API (что-то вроде createList или addBatch).

Я также попытался использовать вместо этого командную строку:

svcutil.exe / язык: cs /out:GeneratedProxy.cs /config:app.config http://api.cleverreach.com/soap/interface_v4.php?wsdl

Это просто дает мне сообщение об ошибке:

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

Когда я смотрю файл WSDL в веб-браузере, упоминаются методы, которые я ищу (например, createList). Поэтому я не уверен, что происходит.

Что бы я хотел знать:

  • Почему Visual Studio не может создать клиентский код для этого веб-сервиса?
  • Как я могу обойти проблему?

Спасибо

Адриан

Ответы [ 3 ]

2 голосов
/ 08 марта 2011

Скорее всего, причина того, что вы не получили никакого кода, заключается в том, что WSDL недействителен. Простое открытие в XMLSpy рассказывает историю:

Invalid XML schema: 'Attribute 'firstname' is not allowed in element <xsd:element>'

Это на

<xsd:element name="firstname" type="xsd:string" firstname="registered"/>

Возможно, вы захотите связаться с продавцом и спросить его, что они думают.

1 голос
/ 08 мая 2013

Это немного устарело, но в случае, если это кому-нибудь поможет, я смог использовать инструмент wsdl.exe, как описано в Создание прокси веб-службы в Visual Studio из файла WSDL :

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>wsdl http://api.cleverreach.com/soap/interface_v5.1.php?wsdl

Конечно, не помогает, что wsdl, похоже, имеет ошибки.

0 голосов
/ 08 марта 2011

Это мой первый ответ о переполнении стека, поэтому я прошу прощения, если он не соответствует обычному стандарту.

Я протестировал сервис с использованием Visual Studio, я создал новый проект (.Net Application), добавил сервис по этому URL-адресу "http://api.cleverreach.com/soap/interface_v4.php?wsdl". Обратите внимание, вам потребуется строка запроса '? Wdsl'), добавив веб-страницу. ссылка Я, возможно, неправильно понял ваш URL в вашем сообщении, но, похоже, вы его удалили.

Я проверил файл WSDL. Я тестировал в VS 2008 и буду тестировать снова в 2010 году.

Надеюсь, это поможет:)

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