Genau jetzt, habe ich meine Webservice-Authentifizierung, aber ich habe diesen Aufruf einer Methode innerhalb WebMethod getan, wie folgt aus:WebService-Header-Authentifizierung
[WebMethod]
[SoapHeader("LoginSoapHeader")]
public int findNumberByCPF(string cpf)
{
try
{
LoginAuthentication();
var retRamal = DadosSmp_Manager.RetornaRamalPorCPF(cpf);
var searchContent= String.Format("CPF[{0}]", cpf);
DadosSmp_Manager.insertCallHistory(retRamal, searchContent);
return retRamal.Ramal;
}
catch (Exception ex)
{
Log.InsertQueueLog(Log.LogType.Error, ex);
throw getException(ex.TargetSite.Name, cpf);
}
}
ich jetzt möchte diese WebMethod authentifizieren, ohne dass die „LoginAuthentication nennen () "Methode, nur mit der SOAP-Header - SoapHeader (" LoginSoapHeader ") - das ist oben im Code.
Dann ist meine Frage, wie kann ich meine WebMethod nur mithilfe von Headern authentifizieren?
Vielen Dank im Voraus.
Ist es * wirklich nötig * jetzt altes SOAP-Protokoll zu verwenden? Es gibt viele Alternativen, die nur HTTP verwenden. Zum Beispiel Web-API, die schlank und flexibel ist und die einfache Implementierung verschiedener Authentifizierungsszenarien ermöglicht (siehe [hier] (http://www.asp.net/web-api/overview/security)). – Oleg
Nicht wirklich benötigt, aber ich möchte lernen, wie dies mit SOAP zu tun. – guisantogui
Meiner Meinung nach ist SOAP tot. Ich denke also, dass das Lernen von SOAP dem Job von Autopsist nahe kommt. Folgst du reinen Bildungszielen oder hast du ein Problem, das du mit SOAP zu lösen versuchst? – Oleg