Estou com um problema grave aqui, o meu sistema esta gerando boletos e o webservice esta pegando muitos boletos e não esta registrando, da erro e nao, passa, e outros boletos passa normal, ele consegue registrar, já verifiquei cadastro dos clientes e esta tudo normal, todos os campos preenchidos corretamente, alguem poderias me ajudar !!!!
Então, estou batendo cabeça com o seguinte desafio: Eu preciso pegar uma NF que está em um web service por sua chave dela e exporta-la no formato XML para uma pasta na máquina. Tenho o seguinte método: getNFe(TOKEN_DE_ACESSO, CHAVE_NFE).
Como posso fazer para pelo token e a chave dessa NF eu conseguir extrai-la e armazena-la?
Estou iniciando o desenvolvimento de um software para controle e emissão de NF-e para a SEFAZ. A princípio, estou começando pelo básico, onde busco consultar se o serviço selecionado está online, ou não. De maneira simplificada:
Private Sub VerificaStatus()
Dim servicoNFe As ServicosNFe
Dim retornoStatus As RetornoNfeStatusServico
Dim retornoBasico As retConsStatServ
servicoNFe = New ServicosNFe(NFeConfig.CfgServico)
retornoStatus = servicoNFe.NfeStatusServico()
retornoBasico = retornoStatus.Retorno
End Sub
Ele gera o XML para consulta, valida, salva uma cópia no computador, e tudo.... Mas quando vou na função NfeStatusServico:
Public Function NfeStatusServico() As RetornoNfeStatusServico
Dim versaoServico = ServicoNFe.NfeStatusServico.VersaoServicoParaString(_cFgServico.VersaoNfeStatusServico)
Dim ws = CriarServico(ServicoNFe.NfeStatusServico)
If _cFgServico.VersaoNfeStatusServico <> NFe.Classes.Servicos.Tipos.VersaoServico.ve400 Then
ws.nfeCabecMsg = New nfeCabecMsg
ws.nfeCabecMsg.cUF = _cFgServico.cUF
ws.nfeCabecMsg.versaoDados = versaoServico
End If
Dim pedStatus = New consStatServ With {
.cUF = _cFgServico.cUF,
.tpAmb = _cFgServico.tpAmb,
.versao = versaoServico
}
Dim xmlStatus = pedStatus.ObterXmlString()
Validador.Valida(ServicoNFe.NfeStatusServico, _cFgServico.VersaoNfeStatusServico, xmlStatus, cfgServico:=_cFgServico)
Dim dadosStatus = New XmlDocument()
dadosStatus.LoadXml(xmlStatus)
SalvarArquivoXml(DateTime.Now.ParaDataHoraString() & "-ped-sta.xml", xmlStatus)
Dim retorno As XmlNode
Try
retorno = ws.Execute(dadosStatus) '<<< Aqui ocorre um erro!
Catch ex As WebException
Throw FabricaComunicacaoException.ObterException(ServicoNFe.NfeStatusServico, ex)
End Try
Dim retornoXmlString = retorno.OuterXml
Dim retConsStatServ = New retConsStatServ().CarregarDeXmlString(retornoXmlString)
SalvarArquivoXml(DateTime.Now.ParaDataHoraString() & "-sta.xml", retornoXmlString)
Return New RetornoNfeStatusServico(pedStatus.ObterXmlString(), retConsStatServ.ObterXmlString(), retornoXmlString, retConsStatServ)
End Function
A função ws.Execute(dadosStatus) gera um erro:
Namespace NFe.Wsdl.Status
<WebServiceBinding(Name:="NFeStatusServico4Service", Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")>
Public Class NfeStatusServico4
Inherits SoapHttpClientProtocol
Implements INfeServico
Public Sub New(ByVal url As String, ByVal certificado As X509Certificate, ByVal timeOut As Integer)
SoapVersion = SoapProtocolVersion.Soap12
Me.Url = url
Me.Timeout = timeOut
ClientCertificates.Add(certificado)
End Sub
<Obsolete("Não utilizar na nfe 4.0")>
Public Property nfeCabecMsg As nfeCabecMsg
Private Property INfeServico_nfeCabecMsg As nfeCabecMsg Implements INfeServico.nfeCabecMsg
Get
Throw New NotImplementedException()
End Get
Set(value As nfeCabecMsg)
Throw New NotImplementedException()
End Set
End Property
<WebMethod(MessageName:="nfeStatusServicoNF"),
SoapDocumentMethod("http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Bare)>
Private Function Execute(<XmlElement(Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> nfeDadosMsg As XmlNode) As <XmlElement("nfeResultMsg", Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> XmlNode Implements INfeServico.Execute
Dim results = Me.Invoke("nfeStatusServicoNF", New Object() {nfeDadosMsg}) '<<<< Aqui nesta linha ocorre o erro
Return CType((results(0)), XmlNode)
End Function
End Class
End Namespace
A seguinte mensagem, é então exibida:
"O método nfeStatusServicoNF do serviço da Web é inválido". <Imagem Anexo>
Esse erro eu não estou conseguindo corrigir.
Alguém poderia me ajudar com o mesmo?
Estou aprendendo WebService no meu curso de programação, e criamos agora um arquivo PHP com umas 4 variáveis q vão armazenar os dados de conexão com o Banco de Dados q é o MySQL ($HostName, $HostUser, $HostPass, $DatabaseName). Mas eu preciso testar as informações que eu vou botar nessas variáveis pra ver se estão certas. Como eu as testo?
Salve galera,
Estou iniciando no mundo WebService e já me deparo com o seguinte problema.
O Servidor da TOTVS via rest, me retorna exatamente da seguinte forma:
Array ( [CAMPOS] => [""A1_COD","A1_NOME","TIPO"] [DADOS] => [["00932221","PEDRO GONCALVES","TITULAR"]["00164577","JORGE ARAGAO","TITULAR"]] )
Acontece que preciso atribuir cada conteúdo a uma variável, ou seja, preciso trabalhar com cada valor de forma distinta:
$A1_COD = ['$A1_COD'];
$A1_NOME = ['A1_NOME'];
$TIPO = ['TIPO'];
echo "Codigo: $A1_COD, Nome: $A1_NOME, Tipo: $TIPO";
Onde eu preciso do seguinte resultado:
Codigo: 00932221 , Nome: PEDRO GONCALVES, Tipo: TITULAR
Codigo: 00164577 , Nome: JORGE ARAGAO, Tipo: TITULAR
Em outras palavras, preciso transformar este array: