如何通过以xml格式发送帖子数据和接收数据,从经典asp调用ASP.NET WEBAPI方法?
以下是为此实现编写的代码:
public HttpResponseMessage Post([FromBody] string data)
{
var rspdata= data;
return new HttpResponseMessage
{
Content = new StringContent(rspdata, Encoding.UTF8, "application/xml")
};
}
Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "post", "api/conenter code heretrollername", False
HttpReq.send data="hello"
请帮帮我,不按预期进行操作。
答案 0 :(得分:0)
我不知道如何从经典asp发出网页请求。据我所知,问题在于,无论何时发出请求,您都需要使用正确的标头。除非你更改asp.net web api的模型绑定器,否则它只接受application / xml或application / json for post方法。一旦发布xml或JSON,它将尝试反序列化到您在web api端定义的模型。在这种情况下,您必须创建一个新的RequestDTO并修改您的方法,如下所示:
public class RequestDTO{
public string Data {get; set;}
}
[HttpPost]
public HttpResponseMessage Post([FromBody] RequestDTO reqObj)
{
var rspdata= reqObj.Data;
return new HttpResponseMessage
{
Content = new StringContent(rspdata, Encoding.UTF8, "application/xml")
};
}
为了从ASP端执行此方法,您需要将发布数据序列化为JSON或XML。我在下面给出了JSON:
{ "data" : "test" }
最后但并非最不重要的是,您应该设置Content-Type : application/json
和Accept:application/xml
(仅当您需要XML作为Web API方面的响应时)
希望这有帮助。