Ошибка: невозможно импортировать порт wsdl: с помощью svcutil - PullRequest
1 голос
/ 22 декабря 2010

Я создал небольшую службу WCF (размещенную в IIS) и использовал Chrome, чтобы взять его wsdl, поместить его в файл .wsdf, а затем хотел использовать svcutil test.wsdl для создания из него клиентского прокси, но я получаю эту ошибку:

Ошибка: невозможно импортировать порт wsdl: Подробно: при импорте привязки wsdl: произошла ошибка, зависящая от порта wsdl: Ent на. XPath к wsdl: binding: // wsdl: определения [@targetNamespace = 'http://tempuri.org/' ] / WSDL: связывание [@ имя = 'WSHttpBinding_IService1'] XPath to Error Источник: // wsdl: определения [@targetNamespace = 'http://tempuri.org/' ] / WSDL: сервис [@ имя = 'Service1'] / WSDL: порт [@ имя = 'WSHttpBinding_IService1']

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

Обновление: как предложено Джоном Сондерсом, спасибо за это, оно работает, когда я указываю его прямо на URL. Однако это мой маленький тестовый пример, чтобы увидеть, что может сделать svcutil, так как я ожидаю, что в ближайшие дни получит файл wsdl от стороннего производителя и может столкнуться с той же проблемой. Поскольку я взял самое простое из сгенерированного .svc из коробки, у меня, похоже, нет блоков включения.

1 Ответ

3 голосов
/ 22 декабря 2010

Если в wsdl есть блоки Include - и они часто появляются при генерации WCF - тогда вы, скорее всего, сохраняете только «основной» файл wsdl, а не все ссылочные файлы.

Результатом этого является то, что основной файл не имеет никакого смысла. Как предлагает Джон Сондерс, попробуйте вместо сохранения файла указать URL-адрес svcutil.exe.

...