Официальный VmWare documentation описывает, как использовать WseWsdl3.exe
утилиту для создания Csharp файла VimService.cs
из набора .wsdl
файлов:SvcUtil против WseWsdl3
wsewsdl3.exe/п: Vim25Api/тип: WebClient/л: CS vim.wsdl vimService.wsdl
Поскольку пакет Microsoft Web Services Enhancements (WSE) 3.0 for Microsoft .NET является устаревшим, что является альтернативой для создания такой же VimService.cs
(предположительно, с помощью утилиты SvcUtil.exe)?
Конечной целью является создание автономного файла сценария, который может генерировать окончательный Vim25Service.dll
без установки каких-либо старых и ненужных пакетов. Плохая вещь с WseWsdl3.exe
заключается в том, что она не уважает the principle of least privilege, то есть она ищет путь к поддерживающей утилите wsdl.exe
в системном реестре, что делает WseWsdl3.exe
unportable. К счастью, WseWsdl3.exe
является .NET-приложением, и я мог бы легко изменить его самостоятельно, так что он принимает путь к wsdl.exe
в качестве аргумента, но, к сожалению, лицензия не позволяет осуществлять обратное проектирование и, в особенности, перекомпиляцию программы.
Когда я пытаюсь использовать SvcUtil.exe
так:
SvcUtil.exe/язык: CS vim.wsdl vimService.wsdl
Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: There was a problem loading the XSD documents provided: a reference to a schema type with name 'DestroyPropertyFilterRequestType' and namespace 'urn:vim25' could not be resolved because the type definition could not be found in the schema for targetNamespace 'urn:vim25'. Please check the XSD documents provided and try again.
XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:vim25']/wsdl:portType[@name='VimPortType']
Извините за бугор, но вы могли бы рассмотреть, чтобы принять мой ответ? Он решает описанную проблему и помогает мне охотиться на значок necro здесь, в SO. –
@Yannic Извините, но ваш ответ не помог решить проблему. Я знаю, как сгенерировать файл с помощью wsdl.exe. Проблема в том, что я хотел использовать SvcUtil.exe. – Pixar
Хорошо, вы решили проблему самостоятельно? У меня была точно такая же проблема, и я просто использовал '' wsdl'', потому что он работает так, как ожидалось. Я знаю, что в документах указано '' SvcUtil'', но есть много сообщений в блогах, в которых предлагается использовать '' wsdl''. –