Использование веб-службы в C #: базовая аутентификация и динамический URL-адрес конечной точки - PullRequest
4 голосов
/ 15 декабря 2011

Я пытаюсь вызвать мыльный веб-сервис с c #.Со статическим URL и без аутентификации все работает хорошо.Я использовал wsdl и csc для создания dll, а также работал с веб-ссылками.Эта часть была легкой.

Для динамического URL, который я видел http://www.codeproject.com/KB/XML/wsdldynamicurl.aspx, но это с 2005 года, и я не знаю, устарел ли он.Правильно ли использовать «нормальные» ссылки?

Мой веб-сервис использует обычную аутентификацию, но я не могу понять, как задать имя пользователя / пароль.

Я уже видел http://benpowell.org/supporting-the-ws-i-basic-profile-password-digest-in-a-wcf-client-proxy/, но это выглядит действительно сложно, и я надеюсь, что будет более простой способ реализовать базовую аутентификацию.

1 Ответ

3 голосов
/ 15 декабря 2011

Чтобы реализовать базовую аутентификацию для вашего веб-запроса, вам нужно будет использовать NetworkCredential для вашего запроса.

NetworkCredential creds = new NetworkCredential(user,password);

WebRequest req = WebRequest.Create(Url);
req.Credentials = creds;

Если вы используете веб-ссылку для доступа к веб-службе;пока вы создаете объект вашего прокси-класса, просто присвойте ему учетные данные.

NetworkCredential creds = new NetworkCredential(user,password);
proxy.Credentials = creds ;
//call your web methods here.

Для динамического URL-адреса статья, о которой вы упоминали, должна работать.

...