Отправка XML-файла с помощью curl приводит к следующему:
Invalid XML character (Unicode : 0x<integer>)
Попытка решить проблему
В соответствии сэтот ТАК ответпроблема будет решена, если изменить версию 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 сейчас», XML действителен.