è generalmente molto facile aggiungere un'intestazione SOAP al vostro proxy web serivce in .Net. Ecco un esempio di codice veloce.
Creare un nuovo header SOAP
using System.Web.Services.Protocols;
public class SoapAuthHeader : SoapHeader
{
public string Username;
public string Password;
}
Nel vostro web classe di servizio di proxy:
public class MyWebServicesProxy : System.Web.Services.Protocols.SoapHttpClientProtocol {
public SoapAuthHeader AuthHeader;
...
}
E poi usare:
SoapAuthHeader authHeader = new SoapAuthHeader();
authHeader.Username = "username";
authHeader.Password = "password";
MyWebServicesProxy myProxy = new MyWebServicesProxy();
myProxy.AuthHeader = authHeader;
Edit: Ci sono altri modi per questo e Microsoft ha un WSE library che include WS-Security che offre molta più funzionalità il semplice esempio sopra. Se hai bisogno di token Kerberos o firma del certificato nella tua intestazione SOAP, allora è la strada da percorrere. se è necessario aggiungere un nome utente e una password semplici per un servizio Web che funziona su SSL, l'exmaple potrebbe essere tutto ciò che serve.
Edit: Blurb rapido sul WSE All'inizio di questo decennio, quando i servizi web stavano per conquistare il mondo un gruppo di operatori del settore (Microsoft, IBM, Sun ecc) si sono riuniti a venire con modi standard di fare le cose sopra di loro. Il corpo formato era OASIS. Da allora Microsoft ha rilasciato diverse versioni della sua libreria WSE per supportare alcune delle specifiche, ma non sono mai state incorporate nel framework .Net anche se la prima versione è stata resa pubblica intorno al 2003.
Servizi Web mentre ancora molto popolare e, a mio parere, un ottimo modo per integrare tra le diverse applicazioni Internet è andato un po 'a disagio. Uno dei motivi è senza dubbio perché AJAX e i servizi web non erano i migliori tra i compagni di letto, anche se questo è migliorato. Anche i servizi Web diventano piuttosto complicati una volta che si iniziano a includere tutte le specifiche aggiuntive di sWSE e uno dei servizi web di thinge che è stato risolto è la complessità in altri protocolli RPC, CORBA, ecc. Nel frattempo REST ha guadagnato molta popolarità a spese dei servizi Web e delle librerie AJAX lo preferiscono spesso.
I servizi Web non spariranno presto con qualsiasi mezzo, ma probabilmente non lo faranno presto.
downvoters: Si prega di motivare ... –