1

What am I doing wrong in this code? When I send a POST request to this API i get the 404 error page. Can somebody help me debug this code. New to Rest Api and Twilio.

using System.Web.Mvc;
using Twilio.TwiML.Mvc;
using Twilio.Mvc;

namespace MVC4Test.Controllers
{
   public class HomeController : TwilioController
   {
      [HttpPost]
      public TwiMLResult ActionResult(SmsRequest request)
      {
        string smsTextType  = request.Body;
        var response = new Twilio.TwiML.TwilioResponse();

        Response.ContentType = "text/xml";    
        response.Redirect("http://www.google.com");

        //Response.ContentEncoding = System.Text.Encoding.UTF8;    
        //Response.Write(smsTest);    
        return TwiML(response);
        //Response.Close();

      }
   }
 }

This is my route

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id =  UrlParameter.Optional }
        );
    }
4

1 回答 1

1

Twilio 布道者在这里。

您可以发布您尝试加载的网址吗?

我的第一个猜测是您错误地命名了 Action 方法。现在它是这样的:

public TwiMLResult ActionResult(SmsRequest request)

这意味着您需要请求的 URL 是:

http://[yourdomain]/Home/ActionResult

如果更改方法的名称:

public ActionResult Sms(SmsRequest request)

那么您的网址将是:

http://[yourdomain]/Home/Sms

我注意到的其他几件事:

  • 如果您使用 TwiML() 辅助方法返回响应,则不需要自己设置 ContentType。该方法将为您完成。
  • 不知道您为什么要告诉 Twilio 重定向到 Google。您可能想查看文档<Redirect>

希望有帮助。

于 2013-08-01T16:09:01.373 回答