【问题标题】:Twilio call says an application error has occuredTwilio 呼叫说发生了应用程序错误
【发布时间】:2016-06-02 01:13:03
【问题描述】:

我使用此命令拨打电话。我在 amazon s3 中托管了 xml 并将其公开。电话说:“抱歉,出现应用程序错误。请帮助

curl -XPOST https://api.twilio.com/2010-04-01/Accounts/kjfwbkjfejbfgeirbgiregribg/Calls.json -d "Url=http://read-voice.xyz.s3-website-us-east-1.amazonaws.com/voice.xml" -d "To=%2B1234567812" -d "From=%2B1234567812" -u 'ssllsdnf wfwefklwefwefwef:wjfdbewfergergerg'

这是 XML

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="alice">Thanks for trying our documentation. Enjoy!</Say>
</Response>

这是调试器中的错误

<Html>
<Head>
    <Title>405 Method Not Allowed</Title>
</Head>
<Body>
    <H1>405 Method Not Allowed</H1>
    <Ul>
        <Li>Code: MethodNotAllowed</Li>
        <Li>Message: The specified method is not allowed against this resource.</Li>
        <Li>Method: POST</Li>
        <Li>ResourceType: OBJECT</Li>
        <Li>RequestId: xyxafsgjsk</Li>
        <Li>HostId: xyzt8=</Li>
    </Ul>
    <Hr/>
</Body>

【问题讨论】:

  • 那么,您正在接听电话,当您接听电话时,您听到“出现应用程序错误”?
  • @AlexBaban 是的,先生
  • 如果您使用浏览器访问您的 s3 网址会发生什么?你在浏览器中看到xml了吗?
  • 我在 Safari 上显示感谢您试用我们的文档。享受!。在 Chrome 中,我看到 感谢您试用我们的文档。享受吧!
  • 如果您向您的 s3 URL 发出 POST 请求会发生什么?

标签: twilio twilio-twiml twilio-click-to-call


【解决方案1】:

您可以使用浏览器检查您的 S3 提供的内容。

您需要确保 S3 以 "content-type""text/xml" 的形式提供您的 xml,并且 &lt;?xml version="1.0" encoding="UTF-8"?&gt; 确实位于响应的第一行。

同时检查 Twilio 调用日志以进行分步调试,您应该会看到有关导致错误的错误 http 请求的更多信息,包括 S3 的响应标头和内容类型。

出于测试目的,您也可以使用TwiML Bins,您可以在“工具”>“开发者中心”下的左侧菜单中找到它们。在那里用你的 xml 创建一个 bin,你会得到一个你可以使用的 url,而不是你的 S3 url。

TwiML Bins 不需要&lt;?xml version="1.0" encoding="UTF-8"?&gt; 在第一行,只需将 xml 放在那里。

【讨论】:

  • 是的,我认为问题出在内容类型上。
  • TwiML 箱 - 完美运行。谢谢亚历克斯巴班
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-28
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多