Comecei a testar e ajustar.
Após uns 10 minutos de alteração, fiz meu primeiro envio.... rs
- Atualizar endereços de webservice
- Atualizar número de versão do CTE de 1.00 pra 2.00
- Atualizar nome do serviço
- Atualizar nome da SOAP Action
Só pra mostrar que o principal funciona, os detalhes é que podem precisar de ajuste.
E não tem muito aonde mexer
METHOD CTeLoteEnvia( cXml, cLote, cUF, cCertificado, cAmbiente ) CLASS SefazClass
::cVersaoXml := "2.00"
::cServico := "http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcao"
::cSoapAction := "cteRecepcaoLote"
::cWebService := ::GetWebService( ::cUF, WS_CTE_RECEPCAO, ::cAmbiente, WS_PROJETO_CTE )
::cXmlDados := ""
::cXmlDados += [<envicte versao="] + ::cVersaoXml + [" xmlns="http://www.portalfiscal.inf.br/cte">]
// FOR nCont = 1 TO Len( Lotes )
::cXmlDados += XmlTag( "idLote", cLote )
::cXmlDados += cXml
// NEXT
::cXmlDados += [</envicte>]
::XmlSoapPost( ::cUF, ::cCertificado, WS_PROJETO_CTE )
RETURN ::cXmlRetorno
...
CASE cUF == "SP" .AND. cAmbiente == WS_AMBIENTE_HOMOLOGACAO
DO CASE
CASE nWsServico == WS_CTE_RECEPCAO ; cUrlWs := "https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/cteRecepcao.asmx"
Consultar Recibo vai ser mais demorado, esse não existe ainda na classe.