Ошибка 404 при вызове метода веб-API с использованием HttpWebRequest - PullRequest
0 голосов
/ 19 апреля 2019

Ошибка 404 при вызове этого метода API Вот код сервера

public class employeesController : ApiController
{


    public HttpResponseMessage CreateEmployee(string strName, string DOB, string Salary, string Photo, string bIsActive, string strExectutedBy)
    {
        HRServices.EntityFramework.WebAPIEntitiesDb db = new EntityFramework.WebAPIEntitiesDb();

        try
        {
            byte[] arrFileData = Convert.FromBase64String(Photo);
            int nValue = db.CREATE_EMPLOYEE(strName, Convert.ToDateTime(DOB), Convert.ToDecimal(Salary), arrFileData, Convert.ToBoolean(bIsActive), strExectutedBy);
            db.Dispose();
            return Request.CreateResponse(HttpStatusCode.OK, "SUCCESS");
        }
        catch (Exception ex)
        {
            return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
        }


    }
}

Вот код клиента:

try
        {
            string strURL = "http://localhost/HRServices/api/employees/CreateEmployee";
            byte[] arrFileData = File.ReadAllBytes("d:\\123.jpg");
            string FileData = Convert.ToBase64String(arrFileData);
            string strParams = "strName=Imad&DOB=2019-5-25&Salary=15000&Photo=" + FileData + "&bIsActive=true&strExecutedBy=admin";


            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(strURL);

            request.ContentType = "application/json";
            request.Method = "POST";


            byte[] arrData = Encoding.UTF8.GetBytes(strParams);
            request.ContentLength = arrData.Length;
            Stream sw = request.GetRequestStream();
            sw.Write(arrData,0,arrData.Length);
            sw.Flush();
            sw.Close();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string strResult = new StreamReader(response.GetResponseStream()).ReadToEnd();

            response.Close();
            response.Dispose();
            response = null;

        }
        catch(WebException ex)
        {
            MessageBox.Show(ex.Message);
        }

При проверке деталей запроса через Каталон или любой другой RESTСредство тестирования, я обнаружил следующие данные {"$ type": "System.Web.Http.HttpError, System.Web.Http", "message": "Не найден ресурс HTTP, соответствующий URI запроса" http://localhost/HRServices/api/employees/CreateEmployee'.", "messageDetail": "Не найдено действий для" сотрудников "контроллера, соответствующих имени" CreateEmployee "."}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...