Estou devenvolvendo uma aplicação que utiliza o WEBSERVICE dos correios.
O Método fechaPlpVariosServicos tem um parâmetro em que o conteúdo é um XML e o protheus está interpretando esse conteúdo e esta dando erro.
Unmarshalling Error: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs.
Exemplo (oWsdl:GetSoapMsg()):
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<SOAP-ENV:Envelope ...>
<SOAP-ENV:Body>
<ns1:fechaPlpVariosServicos>
<xml>
<?xml version="1.0" encoding="ISO-8859-1" ?><correioslog>...</correioslog>
</xml>
<idPlpCliente>0000000007</idPlpCliente>
<cartaoPostagem>0067599079</cartaoPostagem>
<listaEtiquetas>SG17087829BR</listaEtiquetas>
<usuario>xxxx</usuario>
<senha>xxxx</senha>
</ns1:fechaPlpVariosServicos>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Você sabem como eu faço para o protheus não interpretar como XML?
Obs.: Já tentei colocar <![CDATA[]], funciona, sendo que o WEBSERVIVE dos correios não interpreta se eu fizer isso.
Leonardo, você tem um POC para reprodução desse problema?
— Daniel Mendes 15 de Dec de 2021Daniel obrigado pela resposta, sendo que eu consegui fazer funcionar. Eu fiz alguns outros testes colocando '<![CDATA[' + oXml +']]>' e consegui resolver. Dentro da variável oXml tinha outros <![CDATA[]]> e eu tive que retirar para funcionar.
— Leonardo Barrozo dos Santos 15 de Dec de 2021