Postando XML envolto em SOAP postado usando Curl resultados em caractere XML inválido foi encontrado exceções

2

Enviar um arquivo XML usando resultados de curl:

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

Tente resolver o problema

De acordo com esta resposta SO , o 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"?>

O 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 o envio usando o curl da seguinte forma:

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

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

* 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 publique-a:

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

Quarta tentativa de resolver o problema

De acordo com esta resposta , o problema não deve ocorrer porque 0x<integer_greater_than_20> é maior que 0x20.

Quinta tentativa de resolver o problema

O que 0x<integer_greater_than_20> representa? De acordo com esta tabela , representa caracteres latinos que parecem ser aceitáveis.

Sexta tentativa de resolver o problema

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

    
por 030 06.05.2015 / 18:20

0 respostas