Опубликовать XML в WebAPI - PullRequest
0 голосов
/ 03 января 2019

Я вызываю метод Web API из Classic asp, как показано ниже. Но я всегда получаю нулевой requestData в API, а не в XML.

Классический код ASP, вызывающий веб-API:

var XMLOrder = new ActiveXObject ("Microsoft.XMLDOM");
XMLOrder.load("orderTemplate.xml");
var xHttp = new ActiveXObject("Microsoft.XMLHTTP");
xHttp.Open("POST","http://localhost:18977/SaveActitvityRequest",false);       
xHttp.setRequestHeader("CONTENT-TYPE", "application/xml")       
xHttp.Send(XMLOrder);   

Метод веб-API:

[Route("SaveActitvityRequest")]
[HttpPost]
public HttpResponseMessage SaveActitvityRequest([FromBody]XDocument requestData)
{
    try
    {
        return null;
    }       
    catch (Exception ex)
    {
        Logger.Error(ex);
        return Request.CreateResponse(HttpStatusCode.BadRequest, ex);
    }
}

1 Ответ

0 голосов
/ 03 января 2019

requestData, вероятно, имеет значение null, поскольку вы отправляете экземпляр объекта Microsoft.XMLDOM. Если вы попытаетесь отправить XML вместо этого, он должен начать работать. Измените последнюю строчку вашего классического оспа на:

xHttp.Send(XMLOrder.xml);
...