【发布时间】:2018-03-29 16:13:30
【问题描述】:
我正在使用以下代码在我的 .net 核心 api 中接收发送到 Twilio 虚拟号码的短信。我的 web hook api 代码是这样的,
namespace MyNameSpace.Controllers
{
[Route(Routing.CONTROLLER_PREFIX)]
public class MfaController : MyControllerBase
{
[HttpPost]
[Route(Constants.Save)]
[Produces("application/xml")]
public ActionResult SaveText(TextMessage TextInfo)
{
// My save logic here
return Ok();
}
}
}
当我在本地测试代码时,我在提琴手和邮递员中得到 200 - Ok 响应。但我在 Twilio 控制台(调试器)中遇到错误
{
"callbackResult": "SUCCESS",
"statusCode": 502,
"body": "VHd...............",
"cookies": [],
"headers": {
"Transfer-Encoding": [
"chunked"
],
"X-Cache": [
"MISS from ip-XXX-18-0-xXx"
],
"X-Cache-Lookup": [
"MISS from ip-XXX-18-0-XXX:3128"
],
"X-Twilio-Reason": [
"Response does not contain content type"
],
"Date": [
"Thu, 29 Mar 2018 16:08:10 GMT"
],
"Content-Type": [
"text/html"
]
}
}
API 的响应类型应该是什么?我不需要给用户发送回复消息,只需要保存短信。
【问题讨论】:
-
尝试返回有效的XML,内容类型不应该是
"text/html"应该是"text/xml" -
我添加了以下代码以返回 xml 响应,但它没有帮助。 var response = new HttpResponseMessage { Content = new StringContent("
", Encoding.UTF8, "text/xml"), StatusCode = HttpStatusCode.OK } 返回响应;
标签: twilio asp.net-core-webapi twilio-api twilio-functions