Форматирование XML для ответа Twilio

Я пытаюсь получить факс в своем приложении Laravel, но не могу правильно отформатировать XML.

Поскольку я настраиваю это впервые, я попытался подражать основным практическим рекомендациям в руководстве по быстрому запуску Twilio.

Используя панель инструментов Twilio, я установил адрес веб-перехватчика myapp.com/fax/sent, чтобы получать уведомления при попытке отправки входящего факса:

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:

просмотреть факс.отправлено:

<?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');
   }

Это возвращает то же сообщение об ошибке.


person retrograde    schedule 31.05.2017    source источник
comment
Когда вы переходите к myapp.com/fax/sent, вы получаете ожидаемый XML с правильным типом контента?   -  person Andy    schedule 31.05.2017
comment
@Энди, да, я знаю   -  person retrograde    schedule 31.05.2017
comment
Я бы не подумал, что это имеет значение, но попробуйте utf-8 вместо UTF-8 в заголовке xml   -  person Andy    schedule 31.05.2017
comment
с этим тоже не повезло   -  person retrograde    schedule 31.05.2017
comment
хм, похоже, что-то с ним не так. Не могли бы вы попробовать загрузить его в валидатор xml для проверки? Этот загружает их с URL-адресов: codebeautify.org/xmlvalidator.   -  person Andy    schedule 31.05.2017
comment
о боже... Маршрут был защищен.   -  person retrograde    schedule 31.05.2017


Ответы (1)


Убедитесь, что ваш URL-адрес twiML доступен извне для Twilio (без ограничений брандмауэра/IP и т. д.) и что он является допустимым XML с правильным Content-Type.

person Andy    schedule 31.05.2017