Bom dia, estou tendo dificuldades em consumir o webservice da cidade de Viamão(Prefeitura Municipal Viamão-RS - Nota Fiscal de Serviço Eletrônica). Já tentei vários modelos para conexão mas sempre algum erro. Dessa vez não estou tendo retorno nenhum. Abaixo minha última tentativa, que tirei aqui da comunidade. Ela não retorna absolutamente nada.
<?php
$arquivoRPSAssinado = 'XML/assinados/teste.xml';
$XmlAssinado = htmlentities(file_get_contents($arquivoRPSAssinado));
$cabecalho = htmlentities('<cabecalho versao="2.02" xmlns="http://www.abrasf.org.br/nfse.xsd"><versaoDados>2.02</versaoDados></cabecalho>');
$envelope =
'<?xml version="1.0" encoding="UTF-8"?>
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmln s:ser="http://services.nfse">
<x:Header/>
<x:Body>
<ser:RecepcionarLoteRpsRequest>
<nfseCabecMsg>'.$cabecalho.'</nfseCabecMsg>
<nfseDadosMsg>'.$XmlAssinado.'</nfseDadosMsg>
</ser:RecepcionarLoteRpsRequest>
</x:Body>
</x:Envelope>';
$url = 'http://acesso.viamao.rs.gov.br:8085/NFSe.portal.integracao/services.svc';
$headers = array(
"Content-type: text/xml; charset=utf-8",
"SOAPAction: http://services.nfse/RecepcionarLoteRps",
"Content-length: ".strlen($envelope),
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $envelope);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// converting
$html = utf8_decode(curl_exec($ch));
file_put_contents("$arquivoRPSAssinado.ret", $html);
curl_close($ch);
preg_match_all('/<outputXML>(.*?)<\/outputXML>/s', $html, $matches);
$response = html_entity_decode(count($matches)&&count($matches[1])?$matches[1][0]:$html);
echo "<pre>$response</pre>";
echo "<br>Fim";
Se alguém puder dar uma luz, agradeceria imensamente.