微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS Lambda 响应不是 TwiML 格式

如何解决AWS Lambda 响应不是 TwiML 格式

我一直在关注此 tutorial 以设置一个 lambda 函数回复来自 Twilio webhook 的传入文本。该函数似乎工作正常并接收文本数据,但是当它将 TwiML 传递回 Twilio 时,存在某种格式问题。我在 Twilio 错误日志中收到 12200 - 架构验证警告,但我终生无法找到 TwiML 的问题。消息说:

WARN "Content is not allowed in prolog." 在第 1 行,第 1 列。

我已经按照教程中所述的正确设置设置了 API 网关。集成请求映射模板设置为 application/x-www-form-urlencoded,集成响应和方法响应模板设置为 application/xml

我的 lambda 函数是:

def lambda_handler(event,context):
    return '<?xml version="1.0" encoding="UTF-8"?><Response><Message><Body>Sorry,the command is invalid.</Body></Message></Response>'

这是我从 Postman 发送请求时得到的响应。 <?xml 之前有一个引号和一个换行符,这似乎是问题所在,但正如您在上面的 lambda_handler() 中看到的那样,我不相信我会返回任何引号或 {{1 }}。

\n

任何有关在 python 中返回 XML 或设置 Lambda API 网关的帮助将不胜感激,因为这似乎是问题所在。

解决方法

事实证明,这毕竟是 API 网关的问题。我已经正确设置了它,但没有正确部署它,所以我所做的所有更改都没有得到实施。确保您的 API 网关已部署,以便您的映射模板真正生效!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。