2

我正在尝试使用 Twilio 完成一个示例 SMS 应用程序,在该应用程序中我向我的 Twilio 号码发送一条 SMS 消息,然后 Twilio 服务向我发送回复。我知道 Twilio 服务正在到达我的 API,因为我可以看到来自 Twilio 的传入请求到达我的 API,并且我可以看到我的 API 的响应,但我认为有些地方是错误的,因为我从来没有收到短信响应。

[HttpPost]
[Route("EchoTest")]
public IHttpActionResult EchoTest()
{
    string response = "<Response><Sms>Thanks for the message</Sms></Response>";
    return ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, response, new XmlMediaTypeFormatter()));
}

我正在返回,ResponseMessage所以我可以一致地返回一个IHttpActionResult. 我也尝试过返回HttpResponseMessage,如下所示,结果相同。

[HttpPost]
[Route("EchoTest")]
public HttpResponseMessage EchoTest()
{
    string response = "<Response><Sms>Thanks for the message</Sms></Response>";
    Request.CreateResponse(HttpStatusCode.OK, response, new XmlMediaTypeFormatter());
}

这就是我的 API 发回的内容......

<string
 xmlns="http://schemas.microsoft.com/2003/10/Serialization/">&lt;Response&gt;&lt;Sms&gt;Thanks for the message&lt;/Sms&gt;&lt;/Response&gt;
</string>

我搞砸了 XML 响应吗?我希望寄回给 Twilio 的是这个......

<Response><Sms>Thanks for the message</Sms></Response>
4

1 回答 1

3

请参阅网页:https ://msdn.microsoft.com/en-us/library/hh969056(v=vs.118).aspx 试试这个

XElement response = XElement.Parse("<Response><Sms>Thanks for the message</Sms></Response>");
    Request.CreateResponse<XElement>(request, HttpStatusCode.OK, response);
于 2016-06-24T22:14:54.560 回答