Verifiquei seu código e o erro é que o XML tem que estar com as entidades no formato string.
Da próxima vez, teste primeiro a consulta.
É mais simples de implementar e conferir se o webservice está entendendo corretamente as operações.
Separe em outra função o envio para o webservice.
Isso vai te ajudar a reaproveitar em outras cidades.
É basicamente tudo igual, menos na Betha e Elotech.
Nesse exemplo abaixo, os namespaces estão de acordo com o modelo deles.
Isso parece estranho, mas as vezes, costuma dar problema.
Por isso tente copiar igual eu fiz:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:not="http://notacarioca.rio.gov.br/"><x:Header/><x:Body><not:ConsultarNfsePorRpsRequest><not:inputXML><ConsultarNfseRpsEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<IdentificacaoRps>
<Numero>2580746</Numero>
<Serie>1</Serie>
<Tipo>1</Tipo>
</IdentificacaoRps>
<Prestador>
<Cnpj>23306087004031</Cnpj>
<InscricaoMunicipal>6654452</InscricaoMunicipal>
</Prestador>
</ConsultarNfseRpsEnvio></not:inputXML></not:ConsultarNfsePorRpsRequest></x:Body>
</x:Envelope>
Outra coisa, não envie as requisições para o endereço com a operação wsdl.
Mas direto para a URL do serviço:
https://notacarioca.rio.gov.br/WSNacional/nfse.asmx
ou
https://homologacao.notacarioca.rio.gov.br/WSNacional/nfse.asmx
Acho que resolvendo essas coisas, vai funcionar.