none
NF-e Webservices versão 2 com vb.net 2008 RRS feed

  • Pergunta

  • Olá.

    Estou com um problema para adequar meu sistema a nova versão de webservices da nf-e, segue trecho do código na versão anterior:

            Dim nfedadosmsg, nfeCabecMsg As String
            Dim retorno As String

            Dim X509Cert As New X509Certificate2(v_local_certificado, senha_certificado)

            Dim NFeStatServ As New status_servico.NfeStatusServico

            NFeStatServ.Url = v_ss_w

            nfedadosmsg = File.ReadAllText(v_local_temp & "consStatServ.xml")

            nfeCabecMsg = File.ReadAllText(v_local_temp & "cabec.xml")

            NFeStatServ.ClientCertificates.Add(X509Cert)

            Try
                retorno = NFeStatServ.nfeStatusServicoNF(nfeCabecMsg, nfedadosmsg)
            Catch ex As Exception
                If ex.Message = "Unable to connect to the remote server" Then
                    txtnfe.Text = "Internet Indisponível!"
                    txtobs.Text &= txtnfe.Text & vbCrLf
                Else
                    txtnfe.Text = "Certificado Digital não encontrado ou vencido!"
                    txtobs.Text &= txtnfe.Text & vbCrLf
                End If
                t_refresh()
                Exit Function
            End Try
            nfe_status_servico = retorno

    Agora estou com problemas para adequar a comunicação com o serviço, a chamada ao webservice não ocorre mais por string como antes, alguém pode me ajudar.

    Márcio

     

    terça-feira, 6 de abril de 2010 12:00

Todas as Respostas

  • Realmente mudou ! fizeram meia boca antes e agora resolveram melhorar !

    Tenta isso amigo !

    Dim objWebService as New WebServiceNfeStatusServico2.NfeStatusServico2
    WebServiceNfeStatusServico2.ClientCertificates.Add(X509Certificate.CreateFromCertFile("Caminho do Certificado"))
    WebServiceNfeStatusServico2.nfeCabecMsgValue = New WebServiceNfeStatusServico2.nfeCabecMsg
    WebServiceNfeStatusServico2.nfeCabecMsgValue.cUF = Código da UF
    WebServiceNfeStatusServico2.nfeCabecMsgValue.versaoDados = "2.00"


    Márcio
    sexta-feira, 26 de novembro de 2010 19:31
  • Bom dia, 

    Utilizo o .net framework 3.5 e estou migrando para a versão NF-e v2.00 também e estou encontrando dificuldades para utilizar o NfeRetRecepcao2.

    Segue trecho...

     

    wsNfeRetRecepcao2.NfeRetRecepcao2 oWS_NFeRetRecepcao = new wsNfeRetRecepcao2.NfeRetRecepcao2();

    oWS_NFeRetRecepcao.Url = "https://homologacao.nfe.sefaz.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx";

    X509Certificate2 oX509Cert = new X509Certificate2();

    Certificado certificado = new Certificado();

    oX509Cert = certificado.BuscaNome(nomeCertificado);

    oWS_NFeRetRecepcao.ClientCertificates.Add(oX509Cert);

     

    wsNfeRetRecepcao2.nfeCabecMsg cabecMsg = new wsNfeRetRecepcao2.nfeCabecMsg();

     cabecMsg.cUF = codigoUF;

     cabecMsg.versaoDados = versaoProcesso;

     oWS_NFeRetRecepcao.nfeCabecMsgValue = cabecMsg;

     string sNFeDadosMsg = "<?xml version=\"1.0\" encoding=\"utf-8\"?><consReciNFe xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"2.00\"><tpAmb>2</tpAmb><nRec>" + recibo + "</nRec></consReciNFe>";

     

    var xEle = new XmlDocument().CreateElement("Xml");

    xEle.InnerXml = sNFeDadosMsg;

    XmlNode sNfeStatusServico = oWS_NFeRetRecepcao.nfeRetRecepcao2(xEle.ChildNodes[1]);

     

     

    Sempre me dá um erro dizendo: Rejeicao: Usar somente o namespace padrao da NF-e (Elemento: enviNFe)

    Revisei e pelo layout deveria estar certo.

     

    Alguma Idéia?

    Sidnei

     

    terça-feira, 1 de fevereiro de 2011 13:05
  • Amigo não existe mais o XML do cabeçalho de dados wsNfeRetRecepcao2.NfeRetRecepcao2 oWS_NFeRetRecepcao = new wsNfeRetRecepcao2.NfeRetRecepcao2(); oWS_NFeRetRecepcao.Url = "https://homologacao.nfe.sefaz.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx"; X509Certificate2 oX509Cert = new X509Certificate2(); Certificado certificado = new Certificado(); oX509Cert = certificado.BuscaNome(nomeCertificado); oWS_NFeRetRecepcao.ClientCertificates.Add(oX509Cert); wsNfeRetRecepcao2.nfeCabecMsgValue = New WebServiceNfeStatusServico2.nfeCabecMsg wsNfeRetRecepcao2.nfeCabecMsgValue.cUF = [Código da UF] wsNfeRetRecepcao2.nfeCabecMsgValue.versaoDados = "2.00" XmlNode sNfeStatusServico = oWS_NFeRetRecepcao.nfeRetRecepcao2(xEle.ChildNodes[1]);
    Márcio
    segunda-feira, 16 de maio de 2011 19:31
  • Pessoal

        Você saberia me dar informação de como fazer a rotina de NfeRetRecepcao2, utilizando o binding ?

    sexta-feira, 6 de março de 2015 23:39