Ошибка (StackruException) при создании прокси WCF для.NET Micro Framework DPWS с использованием MFSvcUtil.exe

Я пытаюсь заставить мое устройство работать с моей службой WCF, размещенной в Azure, поэтому я следовал статье " Подключенные устройства с использованием.NET Micro Framework", в которой рассказывается, как это сделать.

Дело в том, что у меня возникают проблемы, когда я пытаюсь бежать MFSvcUtil.exe чтобы создать прокси-код, чтобы я мог получить доступ к методам службы WCF из NETMF на стороне устройства.

Если я попытаюсь бежать

C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.1\Tools\MFSvcUtil.exe" http://myservice.cloudapp.net/TrackingService.svc?singlewsdl /V

Я получаю этот вывод:

**MfSvcUtil.exe (c) Microsoft 2008
Reading WSDL file: http://myservice.cloudapp.net/TrackingService.svc?singlewsdl
Could not find schema information for the element 'HTML'.
Severity: Warning
Exception: System.Xml.Schema.XmlSchemaValidationException: Could not find schema information for the element 'HTML'.
SourceUri: http://myservice.cloudapp.net/TrackingService.svc?singlewsdl
LineNumber: 1
Position: 2
StackTrace: 

Program Error: The WSDL file is not compatible.**

Теперь, если я попытаюсь запустить с обычным файлом WSDL, как

MFSvcUtil.exe" http://myservice.cloudapp.net/TrackingService.svc?WSDL /V

Я получаю этот вывод с последующим StackruException что я не могу найти трассировку стека, см. http://localhostr.com/file/QCEVawT/log.txt (загружено из-за ограничения количества символов).

И это мой полный WSDL: http://pastebin.com/M9KVYD0e

Как мне обойти эту проблему?

1 ответ

Я хотел бы знать, используете ли вы.NET 4.5. singlewsdl опция - это новая функция в.NET 4.5, но по умолчанию в Windows Azure не установлена ​​.NET 4.5 (пока). Если вы хотите использовать.NET 4, пожалуйста, используйте ?wsdl вместо ?singlewsdl,

Кроме того, пожалуйста, убедитесь, что у вас есть useRequestHeadersForMetadataAddress поведение, иначе WSDL может работать не так, как ожидалось. Вы можете проверить FIX: URI в документе WCF WSDL ссылаются на недоступные внутренние экземпляры, а не на балансировщик нагрузки, как ожидается в.NET Framework 3.0 в Windows Server 2003, Windows XP, Windows Vista и Windows Server 2008 для получения дополнительной информации. Однако устанавливать исправление не нужно, поскольку эта функция уже встроена в.NET 4.

Другие вопросы по тегам