Публикация XML, завернутого в SOAP, размещенного с использованием Curl, приводит к обнаружению недопустимых символов XML.

Публикация XML, завернутого в SOAP, размещенного с использованием Curl, приводит к обнаружению недопустимых символов XML.

Отправка 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 действителен.

Связанный контент