Я пытаюсь создать прокси-сервер службы для службы SOAP, открытой другим объектом. После запуска:Ошибка при запуске SvcUtil.exe Против службы WSDL
svcutil.exe https://<domain-omitted>/feed30/clientdataservice.asmx?wsdl
Я получаю следующее сообщение об ошибке:
Attempting to download metadata from 'https://<domain-
omitted>/feed30/clientdataservice.asmx' using WS-Metadata Exchange or DISCO
Generating files...
Warning: No code was generated.
If you were trying to generate a client, this could be because the metadata documents did not contain any valid contracts or services or because all contracts/services were discovered to exist in /reference assemblies. Verify that you passed all the metadata documents to the tool.
Warning: If you would like to generate data contracts from schemas make sure to use the /dataContractOnly option.
я видел в прошлом, что это может быть связано с неспособностью коммунальных услуг, чтобы получить доступ на все пути Xmlns в WSDL. Это:
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:s2="http://microsoft.com/wsdl/types/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
только один включен в операторе импорта в WSDL является XMLNS: s2 = «http://microsoft.com/wsdl/types/»
Я не могу найти информацию что я когда-то видел, что вы можете вручную загрузить каждый документ схемы и предоставить его в качестве параметра утилите svcutil. Я на правильном пути, или я должен искать где-то еще?
Любая помощь приветствуется.
если вы можете получить сам wsdl через веб-браузер, сохраните его как файл и запустите файл svcutil.exe. Любой импорт? сохраните их и настройте wsdl, чтобы указать на локальные файлы. –
Спасибо за отзыв. Один сомнительный импорт: xmlns: s2 = "http://microsoft.com/wsdl/types/". Если вы перейдете к этому URL-адресу, там ничего нет. Есть ли способ обхода такой ситуации? – Nate222
URI пространства имен, используемые в документе WSDL, НЕ представляют URL-адреса. Как и любой другой язык, они являются «уникальными» строками, помещенными в контейнер документов, чтобы предотвратить столкновение типов, определенных внутри, с другими документами, которые хотят указывать одни и те же типы, но из другого пространства имен. –