Ошибка ссылки на службу: не удалось сгенерировать код для ссылки на службу - PullRequest
130 голосов
/ 20 октября 2010

У меня есть Windows Service Solution, и я пытаюсь добавить ссылку на службу в веб-службу Hermes (сервер сообщений Opensource ebms) в VS2010.

Я могу найти веб-службу, используя ее URL, но когдапопробуйте заполнить ссылку на службу. Я получаю следующие ошибки в Visual Studio:

Error 8 Custom tool error: Failed to generate code for the service reference 'testService'.  Please check other error and warning messages for details. C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler


Warning 6 Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:portType[@name='EbmsStatusQuery']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:binding[@name='EbmsSoapHttpStatusQuery'] C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler

Warning 7 Custom tool warning: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:binding[@name='EbmsSoapHttpStatusQuery']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:service[@name='EbmsMessageStatusQuery']/wsdl:port[@name='EbmsStatusQuery'] C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler

Warning 5 Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter
Error: Schema with target namespace 'http://service.ebms.edi.cecid.hku.hk/' could not be found.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://service.ebms.edi.cecid.hku.hk/']/wsdl:portType[@name='EbmsStatusQuery'] C:\Users\Admin\documents\visual studio 2010\Projects\MyProject\MyProject.MessageHandler\Service References\testService\Reference.svcmap 1 1 MyProject.MessageHandler

Некоторые исследования предположили, что это связано с тем, что svcutil.exe не удалось создать прокси из-за отсутствия разрешений длякаталог (возможно, c: \ windows \ temp).Я пытался назначить различные разрешения на доступ, но я не совсем уверен, какому пользователю нужно разрешение, или это просто красная сельдь.

Любые идеи будут с благодарностью.

Спасибо

Ответы [ 13 ]

0 голосов
/ 10 июня 2015

сталкиваются с той же проблемой, решаемой при запуске Visual Studio в режиме администратора

0 голосов
/ 17 июня 2014

Как указано выше, возможны несколько различных проблем.Мы обнаружили, что .DLL для библиотеки WCF был добавлен в качестве ссылки на клиентский проект.Это, в свою очередь, создало проблемы с разрешением объектов и, таким образом, привело к «опустошению» файлов на этапах генерации кода.Хотя снятие флажка «Повторное использование типов ...» может показаться ответом, в новом пространстве имен создаются дополнительные определения типов объектов, которые являются посредниками реальных типов, что затем вызывает все виды проблем «совместимости» сиспользование этих типов.Только если вы действительно хотите «скрыть» тип, вы должны проверить эту опцию.

Скрытие типа будет уместным, если вы не хотите, чтобы зависимость типа «DLL» «просачивалась» в проект, который выстараемся держаться отдельно от другого.Если библиотека DLL для проекта библиотеки WCF проникает в ссылки на клиентские проекты, у вас возникнет эта проблема со всеми видами странных побочных эффектов, поскольку определения типов также находятся в библиотеке DLL.

0 голосов
/ 01 февраля 2013

Я получаю ту же ошибку в Silverlight 5 (VS2012)

Вы также можете удалить ссылки на:

  • System.ServiceModel.DomainServices.Client
  • System.ServiceModel.DomainServices.Client.Web

После обновления ссылок на службы обязательно добавьте их обратно.

...