Здравствуйте, коллеги!
У клиента на сайте xmlrpc отдаёт xml с символом BOM в начале. Описание BOM здесь: https://goo.gl/aVkPXE
С принимающей стороны функция xmlrpc_message_parse не учитывает этот BOM и выдаёт ошибку парсинга "Parse error for system.getCapabilities".
Скажите пожалуйста в какую сторону искать решение и чья эта проблема: принимающей, которая не понимает BOM, или отправляющей стороны, которая добавляет BOM?
Комментарии
Разобрался.
Программист редактировал файл в редакторе под Windows, который вставил в текст символ BOM.
Найти такой файл возможно с помощью grep:
1. Можно сразу предлагать удалять такие файлы:
find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;
2. или просто показать путь до файла:
grep -rl $'\xEF\xBB\xBF' .
Далее открыть файл в vim. Vim подсвечивает символы bom в отличие от nano.
Ну или можно фильтровать данные до приема на xml.rpc
я постоянно получаю от клиентов грязные данные.. Это + бюджет на приведение к соответсвию
Да, ваше решение хорошее. Надо затестить.