Я использую HttpResponseMessage в своем веб-API, потому что это значительно упрощает работу. Проблема, с которой я сталкиваюсь, заключается в том, что при тестировании кода в VS 2017, работающем под IIS Express, мой код выполняется без проблем, но я абсолютно ничего не получаю в ответ, когда тестирую Postman. Мне интересно, связано ли это с заголовками и/или конфигурацией. Вот что Почтальон отправляет обратно:
Не удалось получить ответ. Произошла ошибка при подключении к http://localhost:12345/Url/RequestUrl< /а>.
Это часть кода, который работает:
[OperationContract]
[ADAuthorize(Action = "RequestUrl", Controller = "Url")]
[HttpPost]
public HttpResponseMessage RequestUrl(Stream inputServiceRequestParameters)
{
Request = new HttpRequestMessage();
Configuration = new HttpConfiguration();
try
{
// Retrieve and place JSON parameters into object.
var serviceRequestParameters = JsonFunctions.GetServiceRequestParameters(inputServiceRequestParameters);
// Retrieve member GUID from LDAP.
var contactId = LdapFunctions.GetMemberCrmGuid(serviceRequestParameters.MemberNumber);
// Member information not found in LDAP, so return without processing.
if (contactId == null)
{
var response = Request.CreateResponse(HttpStatusCode.InternalServerError,
JsonFunctions.BuildErrorResponse("", Constants.ValidationMessage.MEMBER_NOT_IN_LDAP));
response.Content = new StringContent(JsonFunctions.BuildErrorResponse("", Constants.ValidationMessage.MEMBER_NOT_IN_LDAP));
response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
return response;
}
[остальная часть класса продолжает после этого...]
Весь этот код работает прекрасно, но ничего не возвращается. Даже Fiddler жалуется, что ReadResponse() не удалось.
Я просмотрел безумное количество примеров и до сих пор не могу понять, что происходит, чего мне не хватает.