Publicação de XML encapsulado em SOAP postado usando resultados Curl em caractere XML inválido foi encontrada exceções

Publicação de XML encapsulado em SOAP postado usando resultados Curl em caractere XML inválido foi encontrada exceções

Enviar um arquivo XML usando curl resulta em:

Invalid XML character (Unicode : 0x<integer>)

Tente resolver o problema

De acordo comesta resposta SOo problema será resolvido se a versão XML for alterada para 1.1.

Embora a versão que reside no arquivo XML tenha sido atualizada:

<?xml version="1.1" encoding="utf-8" standalone="yes"?>

curl parece continuar enviando o XML como versão 1.0.

Segunda tentativa de resolver o problema

Outra tentativa foi alterar o cabeçalho usado durante a postagem usando curl da seguinte forma:

curl -X POST -H "Content-Type: text/xml; charset=utf-8; version=1.1"

Curl parece ignorar isso, pois a saída indica que o xml versão 1.0 é usado:

* Closing connection #0
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope

Terceira tentativa de resolver o problema

@ Ƭᴇcʜιᴇ007 aconselhado a criar um pequeno arquivo 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>

valide a sintaxe e posteriormente publique-a:

An invalid XML character (Unicode : 0x<integer>) was found

Quarta tentativa de resolver o problema

De acordo comesta respostao problema não deve ocorrer se 0x<integer_greater_than_20>for maior que 0x20.

Quinta tentativa de resolver o problema

O que 0x<integer_greater_than_20>representa? De acordo comessa mesarepresenta caracteres latinos que parecem aceitáveis.

Sexta tentativa de resolver o problema

Talvez o arquivo XML seja inválido? Não, de acordo com a opção Verificar sintaxe XML agora do Notepad++, o XML é válido.

informação relacionada