Consegui descobri o motivo! Não estava preenchendo o ReqResp.URL'https://bhisshomologa.pbh.gov.br/bhiss-ws/nfse' responsável para BH! Eu comentei e assim ficou! Ptuz!!! Falta de atenção a minha! a URL 'http://ws.bhiss.pbh.gov.br/CancelarNfse' estava correta. A questão é se você não informa qual o servidor responsável pelo serviço, não há como executar o serviço solicitado, no caso a URL 'http://ws.bhiss.pbh.gov.br/CancelarNfse'.
O problema estava no Schema nfse.xsd Versão 1.0. No manual da prefeitura do Rio de Janeiro informa que não é obrigatório assina o RPS ou Lote, porém no Schema diz que sim. O provedor só aceita a assinatura no Lote. Então fiz o seguinte:
function TProvedorRJ.GetConfigCidade(ACodCidade,
AAmbiente: Integer): TConfigCidade;
var
ConfigCidade: TConfigCidade;
begin
ConfigCidade.VersaoSoap := '1.1';
ConfigCidade.Prefixo2 := '';
ConfigCidade.Prefixo3 := '';
ConfigCidade.Prefixo4 := '';
ConfigCidade.Identificador := 'Id';
// if AAmbiente = 1
// then ConfigCidade.NameSpaceEnvelope := 'http://notacarioca.rio.gov.br'
// else ConfigCidade.NameSpaceEnvelope := 'http://homologacao.notacarioca.rio.gov.br';
ConfigCidade.NameSpaceEnvelope := 'http://notacarioca.rio.gov.br';
ConfigCidade.AssinaRPS := False;
ConfigCidade.AssinaLote := True; // Alterado por Italo em 10/05/2013
Result := ConfigCidade;
end;
e a ultima alteração foi na unit ACBrNFSeUtil, função AssinarMSXML:
if ALote
then begin
if (URI <> '') and ((AProvedor <> proRecife) and (AProvedor <> proRJ))
then xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature[@' + Identificador + '=AssLote_' + URI + ']')
else begin
xmldsig.signature := xmldoc.selectSingleNode('.//ds1:' + EnviarLoteRps + '/ds:Signature');
end;
end
else xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature');
Feito isso, a emissão e o retorno ocorreu sucesso! Funcionou 100%!!
A prefeitura do Rio ainda trabalha com a versão 1.0 da NFSe mas este arquivo nfse.xsd deve ser atualizado e lembrando que a assinatura é somente no Lote!
Fica aqui me agradecimento pela sua ajuda! Valeu pela força!!!
Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.