格式化Twilio响应的XML

时间:2017-05-31 19:38:28

标签: laravel laravel-5 twilio twiml

我正在尝试在我的Laravel应用程序中接收传真,但我似乎无法正确格式化XML。

由于我是第一次设置此功能,因此我尝试在Twilio快速入门指南中模拟基本操作方法。

使用Twilio仪表板,我设置了myapp.com/fax/sent的webhook地址,以便在尝试发送传入传真时收到通知:

public function sent()
{
    $twimlResponse = new SimpleXMLElement("<Response></Response>");
    $recieveEl = $twimlResponse->addChild('Receive');
    $receiveEl->addAttribute('action', '/fax/received');

    return response($twimlResponse->asXML())
           ->header('Content-Type', 'text/xml');
}

我从Twilio获得的错误基本上是空的:

Error 12100 Document parse failure

Twilio错误请求检查器显示没有头部或身体。

我还试图返回一个硬编码的视图文件来代替构建xml:

查看fax.sent:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
   <Receive action="/fax/received" />
</Response>

然后将发送的函数更改为:

public function sent()
   {
      return View::make('fax.sent')->header('Content-Type', 'text/xml');
   }

返回相同的错误消息。

1 个答案:

答案 0 :(得分:1)

确保您的twiML URL可从Twilio外部访问(无防火墙/ IP限制等),并且它是具有正确Content-Type的有效XML。