Solução NFSe Porto Alegre-RS

Olá,
Estou responsável para analisar e desenvolver uma solução para gerar NFSe utilizando o webservice da prefeitura de Porto Alegre, mas confesso que estou confusa com o funcionamento e como fazer as requisições.
Estava até o momento tentando realizá-las pelo Postman, mas recebia erro na formatação do cabeçalho e parece que não é tão simples, tenho que montar mesmo o xml (tava querendo testar uma chamada para implementar posteriormente).
Cheguei até o gist do luiz Assinatura e Envio de XML SMARAPD padrão ABRASF 2.03 (Vila Velha) · GitHub mas não sei se serve essa solução como base para como está a da prefeitura.

http://portalnotalegal.portoalegre.rs.gov.br/default.php?p_secao=152

Se puder me dar uma luz de por onde começar, eu agradeço!

Porto Alegre segue o mesmo modelo de Belo Horizonte.
É um dos padrões mais antigos.

Webservice Produção:
https://nfe.portoalegre.rs.gov.br/bhiss-ws/nfse

Webservice Homologação:
https://nfse-hom.procempa.com.br/bhiss-ws/nfse

Ambos precisam de um certificado padrão ICP-Brasil válido.

Segue abaixo, um exemplo de mensagem SOAP completa.
Não esqueça de converter o conteúdo do cabeçalho e do body para texto.

POST /bhiss-ws/nfse HTTP/1.1
Host: bhisshomologa.pbh.gov.br
Accept: */*
Content-type: text/xml; charset=utf-8
SOAPAction: GerarNfse
Content-length: 10313


<SOAP-ENV:Envelope
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<GerarNfseRequest xmlns="http://ws.bhiss.pbh.gov.br">
<nfseCabecMsg xmlns="">%CABECMSG%</nfseCabecMsg>
<nfseDadosMsg xmlns="">%DADOSMSG%</nfseDadosMsg>
</GerarNfseRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

O cabeçalho é composto pelas tags abaixo:

<cabecalho versao="1.00" xmlns="http://www.abrasf.org.br/nfse.xsd">
<versaoDados>1.00</versaoDados>
</cabecalho>

Segue um exemplo dos dados:
POA.xml (5,7,KB)

Este tópico foi fechado automaticamente 30 dias depois da última resposta. Novas respostas não são mais permitidas.