Заголовок авторизации из моей консоли не получен в веб-службе Restful WCF

Я на самом деле новичок в C#, и в настоящее время я создаю простой базовый веб-сервис Restful WCF, который использует пользовательскую авторизацию заголовка для продолжения запроса

 public void validateHeader(string requestBody)
    {
        try
        {
            IncomingWebRequestContext WebReq = WebOperationContext.Current.IncomingRequest;
            string requestedURL = WebReq.UriTemplateMatch.RequestUri.OriginalString;
            string clientHeader = WebReq.Headers["Authorization"];
            if (clientHeader.Substring(0, 3) != "amx")
            {
                BuildUnauthorizedError("Unknown header");
            }

Затем я отладил его с помощью Postman, добавив значение заголовка авторизации, и он работает как надо

Но проблема в том, когда я пытаюсь отладить WCF с помощью этого консольного приложения:

try
        {

            string requestURL = "http://localhost:62146/ORIListenerService.svc/GetDataStatusPembayarans";
            var request = (HttpWebRequest)WebRequest.Create(requestURL);
            request.Method = "GET";
            request.ContentType = "application/json";
            request.PreAuthenticate = true;
            request.Headers.Add("Authorization","amx 12345");

            var response = (HttpWebResponse)request.GetResponse();

Заголовок авторизации даже не получен на WCF

Я также попытался заполнить значение заголовка случайным текстом, и все это было получено в WCF, за исключением Авторизации. Я что-то пропустил или просто все сделал неправильно?

заранее спасибо

2 ответа

Решение

Я нашел решение, оказывается, я пропустил трейлинг / в моем запросе.

мой UriTemplate в [OperationContract] это так

UriTemplate = "/GetDataStatusPembayarans/"

но я звоню URL http://localhost:62146/GetDataStatusPembayarans

Попробуйте добавить параметр заголовка "Accept" в запрос, спасибо.

Другие вопросы по тегам