Bom dia,
A função de cancelamento está retornando exceção pois não está encontrando a TAG específica no XML de retorno. A TAG procurada para a versão 1.0 é a mesma para a versão 1.10 do XML;
Infisc versão 1.0 - Homologação - Campo Bom
unit pnfsCancNfseResposta;
function LerXml_proInfisc: Boolean;
Para a versão 1.0, a função acima busca o tag 'resAnulaNFSe'
if VersaoXML = '1.10' then
sCancelaAnula := 'resCancelaNFSe'; // Caxias do Sul Versão XML 1.1
else
sCancelaAnula := 'resAnulaNFSe'; // Demais Cidades
Contudo, o XML retorna a tag 'resCancelaNFSe' e isso está gerando exceção
<?xml version='1.0' encoding='utf-8'?><resCancelaNFSe versao="1.0" > <CNPJ>01147271000199</CNPJ> <chvAcessoNFS-e>43011472710001995500T000000098064978349</chvAcessoNFS-e> <dhRecbto>2016-06-16 09:29:37</dhRecbto> <nProt>1284588</nProt> <sit>100</sit> <mot></mot></resCancelaNFSe>
Segue em anexo correção da unit
Obrigado
pnfsCancNFSeResposta.pas