обычно очень легко добавить SOAP-заголовок к вашему веб-прокси-серверу в .Net. Вот быстрый пример кода.
Создать новый заголовок SOAP
using System.Web.Services.Protocols;
public class SoapAuthHeader : SoapHeader
{
public string Username;
public string Password;
}
В прокси-классе вашего веб-сервиса:
public class MyWebServicesProxy : System.Web.Services.Protocols.SoapHttpClientProtocol {
public SoapAuthHeader AuthHeader;
...
}
А затем использовать:
SoapAuthHeader authHeader = new SoapAuthHeader();
authHeader.Username = "username";
authHeader.Password = "password";
MyWebServicesProxy myProxy = new MyWebServicesProxy();
myProxy.AuthHeader = authHeader;
Редактировать: есть и другие способы, и у Microsoft есть библиотека WSE , которая включает WS-Security, что дает гораздо больше функциональных возможностей, чем простой пример выше. Если вам нужны токены Kerberos или подпись сертификата в заголовке SOAP, тогда это путь. если вам просто необходимо добавить простое имя пользователя и пароль для веб-службы, работающей по протоколу SSL, тогда может понадобиться только пример.
Редактировать: Быстрая реклама WSE В начале этого десятилетия, когда веб-сервисы собирались захватить мир, группа отраслевых игроков (Microsoft, IBM, Sun и т. Д.) Собрались вместе, чтобы придумать стандартные способы. делать вещи над ними. Сформированное тело было ОАЗИС . С тех пор Microsoft выпустила несколько версий своей библиотеки WSE для поддержки некоторых спецификаций, но, что интересно, они никогда не были включены в .Net Framework, хотя первая версия была опубликована в 2003 году.
Веб-сервисы все еще очень популярны, и, на мой взгляд, отличный способ интеграции между различными интернет-приложениями немного потерял популярность. Одна из причин, несомненно, заключается в том, что AJAX и веб-сервисы не были лучшими помощниками, хотя и улучшились. Веб-сервисы также становятся довольно сложными, как только вы начинаете включать все дополнительные спецификации sWSE, и одной из вещей, которые должны были быть решены веб-сервисами, была сложность в других протоколах RPC, CORBA и т. Д. Тем временем REST приобрел большую популярность за счет веб-сервисов и библиотек AJAX часто предпочитают его.
Веб-сервисы не собираются исчезать в ближайшее время любыми средствами, но они, вероятно, также не собираются захватывать Мир в ближайшее время.