Заголовок авторизации из моей консоли не получен в веб-службе Restful WCF - PullRequest
0 голосов
/ 06 декабря 2018

Я на самом деле новичок в 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 со значением заголовка авторизациидобавлено и работает как надо enter image description here

Но проблема в том, когда я пытаюсь отладить 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

enter image description here

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

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

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

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

Мой UriTemplate в [OperationContract] похож на

UriTemplate = "/GetDataStatusPembayarans/"

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

0 голосов
/ 06 декабря 2018

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

...