Передача имени пользователя и пароля в svcutil.exe?

У нас есть службы OSB, которые в настоящее время защищены именем пользователя и паролем. Я получаю 401 несанкционированный доступ при попытке создать сервисный прокси с помощью svcutil. Я знаю, что вам нужно настроить файл svcutil.exe.config, но я не могу найти никаких примеров, кроме одного, который передает сертификат.

Кто-нибудь знает, как отправить имя пользователя и пароль с помощью svcutil?


person webwires    schedule 22.04.2010    source источник


Ответы (3)


Я не думаю, что вы можете сделать это.

Что вы можете сделать в этом случае, так это либо подключиться к этому адресу в браузере и просто загрузить и сохранить файл WSDL на свой локальный диск и вызвать svcutil.exe в этой локальной копии, либо попросить издателя этого веб-сервиса либо предоставить вам URL-адрес, который не требует аутентификации или просто отправляет вам соответствующие файлы WSDL и, возможно, XSD, чтобы вы могли создать прокси-сервер на стороне клиента для этой службы.

person marc_s    schedule 25.04.2010
comment
Я подтверждаю то, что вы говорите здесь: msdn.microsoft.com/en- us/library/ms733775.aspx Примечание. Вы не можете использовать конфигурацию для установки имени пользователя и пароля. Показанная здесь конфигурация должна быть дополнена кодом для установки имени пользователя и пароля. - person webwires; 28.04.2010

Вы не можете пройти аутентификацию в svcutil, но вы можете настроить учетные данные в Windows для целевой машины. Перейдите на страницу управления учетной записью, а затем на сохраненные учетные данные. Добавьте новую запись с целевым именем хоста и учетными данными. После этого вы можете использовать svcutil с URL-адресом.

person ggPeti    schedule 14.03.2012
comment
Это работает! Очень умный. Спасибо. Однако с практической точки зрения я рекомендую OP просто загрузить WSDL! В любом случае ваш код обязательно связан с интерфейсом службы. Если интерфейс службы изменится, небольшой ручной шаг по обновлению файла wsdl будет тривиальным по сравнению с изменением или тестированием вашего кода в связи с фактическими изменениями в интерфейсе службы. Обновление WSDL вручную дает вам контроль над тем, когда это произойдет. WSDL — это контракт, и сторона-потребитель должна знать об его изменении. - person DanO; 17.01.2013

Попробуй это. Это должно работать с любой веб-страницей, требующей имени пользователя и пароля.

svcutil http://user:password@someurl?wsdl
person Czenda    schedule 16.04.2014
comment
Я попробовал этот формат со встроенным именем пользователя и паролем в URL-адресе, но это не сработало. - person Jason S; 22.10.2014