Chính xác bây giờ, tôi đã xác thực webservice của tôi, nhưng tôi đã làm điều này gọi một phương thức bên trong WebMethod, như thế này:WebService Headers Xác thực
[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);
}
}
Tôi muốn ngay bây giờ để xác thực WebMethod này mà không gọi là "LoginAuthentication () "phương thức, chỉ sử dụng tiêu đề SOAP - SoapHeader (" LoginSoapHeader ") - ở trên bên trong mã.
Sau đó, câu hỏi của tôi là làm thế nào tôi có thể xác thực WebMethod của tôi chỉ bằng cách sử dụng tiêu đề?
Xin cảm ơn trước.
Có * thực sự cần thiết * để sử dụng giao thức SOAP cũ? Có rất nhiều lựa chọn thay thế chỉ sử dụng HTTP. Ví dụ: Web API mỏng, linh hoạt và cho phép dễ dàng triển khai các kịch bản xác thực khác nhau (xem [tại đây] (http://www.asp.net/web-api/overview/security)). – Oleg
Không thực sự cần thiết, nhưng tôi muốn học cách làm điều này bằng cách sử dụng SOAP. – guisantogui
Theo quan điểm của tôi, SOAP đã chết. Vì vậy, tôi nghĩ rằng việc học SOAP gần với công việc của người khám nghiệm tử thi. Bạn có làm theo các mục tiêu giáo dục thuần túy hay bạn có một số vấn đề mà bạn cố gắng thực hiện bằng cách sử dụng SOAP? – Oleg