Отправка файла XML с использованием curl приводит к:
Invalid XML character (Unicode : 0x<integer>)
Попытка решить проблему
Согласно этому ответу SO, проблема будет решена, если версия XML будет изменена на 1.1.
Хотя версия, которая находится в файле XML, была обновлена:
<?xml version="1.1" encoding="utf-8" standalone="yes"?>
curl, похоже, продолжает отправлять XML как версию 1.0.
Вторая попытка решить проблему
Другая попытка была изменить заголовок, который используется при публикации с использованием curl следующим образом:
curl -X POST -H "Content-Type: text/xml; charset=utf-8; version=1.1"
Curl, кажется, игнорирует это, поскольку вывод указывает, что используется версия xml 1.0:
* Closing connection #0
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope
Третья попытка решить проблему
@ Ƭᴇcʜιᴇ007 рекомендуется создать небольшой XML-файл:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body>
<note>
<to>Test</to>
</note>
</soap:Body>
</soap:Envelope>
проверить синтаксис и впоследствии опубликовать его:
An invalid XML character (Unicode : 0x<integer>) was found
Четвертая попытка решить проблему
Согласно этому ответу проблема не должна возникать, поскольку 0x<integer_greater_than_20>
больше 0x20.
Пятая попытка решить проблему
Что представляет собой 0x<integer_greater_than_20>
? Согласно этой таблице он представляет латинские символы, которые кажутся приемлемыми.
Шестая попытка решить проблему
Возможно, файл XML недействителен? Нет, согласно Notepad++, опция «Проверить синтаксис XML сейчас» действительна.