fladimir
-
Posts
364 -
Joined
-
Last visited
-
Days Won
12
Posts posted by fladimir
-
-
Eu tb abri um chamado, ligaram pra mim, e disseram: "O Sr. não esta enviando o XML"... Eu disse... é justamente esse o motivo do chamado eu mando o XML e o retorno é q não foi o XML, preciso de auxilio nisso... ai respondem "Ahm... e como o Sr. ta fazendo?"... respondo: Igual no manual passando a URL e o XML vai na URL, tentei mandar tanto conteúdo do XML qto o caminho do arquivo XML e não vai...
Fiz o seguinte fiz um vídeo mostrando um código de exemplo q tem essa rotina do LoginWS e do EnviaWS e coloquei o DEBUG pra mostrar em tempo de execução as variáveis e seus conteúdos... isso ontem, até agora não responderam, acredito q o programador deles deva estar analisando...
O q conseguir primeiro posta aki... Kkkk
Abraço.
-
É aki tb retorna "No XML or ZIP file found"
Vou ver com o suporte o q falam, qualquer novidade posto novamente.
-
bom dia fiz desta forma e ele me retorno o seguinte
function enviaWS(mUsuario,mSenha,mArqxml) local strXml, ws, oRs, olServer cUrl := "http://www.averbeporto.com.br/websys/php/conn.php?"+; "mod=Upload"+; "&comp=5"+; "&path=eguarda/php/"+; "&file=@"+mArqxml+"" msginfo(cURL) oServer:= CreateObject( "MSXML2.ServerXMLHTTP") oServer:Open( "POST", cUrl, .F. ) oServer:SetRequestHeader( "Cookie", mCookie ) oServer:SetRequestHeader( "Content-Type", "multipart/form-data" ) oServer:Send() // oServer:WaitForResponse( 10000 ) cRetorno:= oServer:ResponseText MemoWrit( "xml\retornoenv.xml", cRetorno ) msginfo(cretorno,"envio") return(cRetorno)
{"success":1,"S":{"P":0,"D":0,"R":0,"N":0},"error":{"msg":"No XML or ZIP file found"}}
dizendo que não é um arquivo xml.
Isso pq vc mandou @arquivo, pelo q li no manual seria somente ali o conteúdo sem o @ não?
Pq vc manda o usuário e senha pra essa rotina sendo q não usa essas variáveis na rotina?
Poderia colocar a rotina anterior em q vc pega o mCookie na conexão?
Na minha rotina não esta dando certo pq não sei mudar o oHTTP TipClientHTTP pra "multipart/form-data" e passar isso.
Na sua parece q já ta mais proxima de acertar. Se puder compartilhar conosco como vc fez dessa forma a conexão e pegar o Cookie pq essa do enviaWS acredito q seja só ajudar ali a parte do XML -
sim ele não vai
hDados := hb_hash() // Reseto a variavel hDados["mod"] := 'Upload' hDados["comp"] := '5' hDados["path"] := 'eguarda/php/' hDados["recipient"] := '' hDados["file"] := mArqXml && 'ConteudodoarquivoXML' // aki q não tenho certeza tem q testar, mas acredito q seja carregar esse campo com o conteúdo do XML // Como estou logado e o Cookie dentro o oHTTP passo o hDados novo IF !oHTTP:post( hDados ) /// ele encerra aqui RETURN .F. ENDIF cRet:= oHTTP:ReadAll() // pego o retorno hb_jsonDecode(cRet, @hJson) // transformo em JSON
ja tentei com o conteuido do xml e com p caminho os dois sai na opcao acima
Exato ta parando ai... tipo falta pouca coisa mas o trem não vai... q coisa hein... eles passaram um login e senha de testes mas não ajuda muito pq o problema é pq depois de logado e tudo ok não aceitar o envio.
-
Vc tentou usando meu código?
Estou aguardando um XML de um cliente aki pra testar meu código pq não testei ainda ele, mas acredito q vai funcionar.
-
Exato, chamar essa rotina ao encerrar a rotina, mas pelo q vi vc fez isso e não deu certo, então não saberia informar o q poderia ajudar, talvez algum colega saiba.
-
Não tenho certeza, mas acredito q sim pq na verdade é uma propriedade da classe q é instaciada através do TipClientHTTP, q qdo é aberta a URL carrega e conforme o manual quem retorna essa informação é o Site da Porto Seguro, ou seja, teoricamente tem q funcionar, só um detalhe a forma de trabalhar com Hashs no xHarbour, até onde eu lembro, é um pouco diferente, lembrando q é CaseSensitive, mas tem uma função q passa antes pra ignorar, só não lembro qual é.
-
Se não me engano
HB_GCAll
(
.
T
.
)
-
Acho q consegui...
Testem ai...******************************************************************************** function AverbandoXMLCTe() LOCAL hJSON, hDados LOCAL cRet, oUrl, oHTTP, cURL cURL := "http://www.averbeporto.com.br/websys/php/conn.php" oUrl := TURL():new( cUrl ) oHTTP := TIPClientHTTP():new( oUrl ) IF !oHTTP:open() RETURN .F. ENDIF hDados := hb_hash() // Reseto a variavel hDados["mod"] := 'login' hDados["comp"] := '5' hDados["user"] := 'Usuario' hDados["pass"] := 'Senha' hDados["dump"] := '1' IF !oHTTP:post( hDados ) RETURN .F. ENDIF cRet:= oHTTP:ReadAll() hb_jsonDecode(cRet, @hJson) // Aki analiso se logou ok // Se no hJson q volta tiver hJson["C"]["userName"] = usuario q mandei blz logou ok // Cookie q veio fica em : oHTTP:hCookies["www.averbeporto.com.br"]["/"]["portal[ses]"] // Depois pra mandar o arquivo XML monto um hDados assim: // Até aki ta testado e funcionando... não testei o envio mas é pra funcionar no meu entendimento // o Cookie já consta do objeto oHTTP então não preciso reenviar, pq já esta ali, basta montar o Hash com o conteúdo pra envio do XML /* Montagem do Hash pra envio hDados := hb_hash() // Reseto a variavel hDados["comp"] := '5' hDados["mod"] := 'Upload' hDados["path"] := 'eguarda/php' hDados["recipient"] := '' hDados["file"] := 'ConteudodoarquivoXML' // aki q não tenho certeza tem q testar, mas acredito q seja carregar esse campo com o conteúdo do XML // Como estou logado e o Cookie dentro o oHTTP passo o hDados novo IF !oHTTP:post( hDados ) RETURN .F. ENDIF cRet:= oHTTP:ReadAll() // pego o retorno hb_jsonDecode(cRet, @hJson) // transformo em JSON // Ai o retorno disso deve ser algo do tipo hJson["S"]["P"] //1 // Processado (xml guardadado com sucesso) hJson["S"]["D"] //0 // Duplicado hJson["S"]["R"] //0 // Rejeitado hJson["S"]["N"] //0 // Negado hJson["prot"] // Protocolo do xml guardado P //-- Mensagens de erro para resultados R ou N hJson["error"]["code"] hJson["error"]["msg"] */ oHTTP:Close() // Encerra conexão RETURN NIL
-
Mas o q ta faltando então? a parte do envio do arquivo é isso? Se sim não teria q transformar em Base64 igual é feito na nota eletronica?
-
As etapas seriam:
Gera a CTe
Transmite o XML para o portal
Pega o nr da averbação pra fazer o MDFe seria isso? Qual etapa não certo Edutek?
-
Usa o ACBr pra saber qual o item pelo menos ou muda.
Aki ta tranquilo, tb tenho vários clientes e não estou tendo dificuldades
Fiz o sistema qdo da o erro imprimir seja qual for GTIN NCM imprime e como no retorno já vem o Item ai o cliente vai e arruma.
-
<ICMS> <ICMS60> <orig>0</orig> <CST>60</CST> <vBCSTRet>60.00</vBCSTRet> <pST>45.00</pST> Campo Novo <vICMSSTRet>45.00</vICMSSTRet> <vBCFCPST>45.00</vBCFCPST> Campo Novo <pFCPSTRet>45.00</pFCPSTRet> Campo Novo <vFCPSTRet>45.00</vFCPSTRet> Campo Novo </ICMS60> </ICMS>
-
Fladimir, nem todas uf's retornam esta informação csit, não lembro agora, mas tive alguns casos que tive que recorrer ao sintegra.
Blz Jorge, obrigado por compartilhar, vou ficar atento aki.
-
Boa tarde
Se entendi tua pergunta, segue resposta demonstrando o retorno do ACBr com comentário:
-
Essa pergunta do oRibeiro é muito pertinente, eu particularmente fico receoso de oferecer uma funcionalidade q possa parar de funcionar em curto espaço de tempo, não to dizendo q seja o caso do ReceitaWS mas se não tiver uma certa segurança q vai funcionar pelo menos 1 ano pra mais as vezes é tempo perdido e o pior é q se o usuário acostuma e depois não conseguirmos oferecer algo semelhante teríamos problemas.
Uma outra opção é usar o próprio Webservices q as SEFAZ disponibilizam para consulta de cadastro, quem já trabalha com NFe etc já tem isso e as vezes não usa, eu por exemplo uso o ACBrMonitor e lá tem um comando NFe.ConsultaCadastro("UF", "CNPJ ou CPF") q traz os dados, q na prática é uma consulta ao webservice da SEFAZ.
-
Cara matou a pau... entendi perfeitamente....grato.
-
Desculpe aki talvez não seja o mais apropriado, mas na pratica, pra nós programadores de sistemas comerciais (talvez a maioria) o q seria o e-social e o q temos q fazer?
Vejo falar muito até pesquisei na internet mas não compreendi para q programadores de sistema comerciais (atacado e varejo) tenham q fazer.
Alguém poderia direcionar link a respeito ou responder aki mesmo caso seja possível?
-
ACBrMonitor tb pode ser usado para pesquisa por CEP e por logradouro... abaixo opções e exemplos:
-
Veja no UNINFe
-
com relação a este assunto "Mobile" integrando com Five é bom olhar fora do universo Harbour Five etc.
-
Não uso o Fivewin, pq qdo conheci já tinha feito os meus projetos em outras libs etc, ai qdo conheci já estava usando outra q considero boa tb.
O fato é q o Fivewin mudou a vida dos programadores q a usam.
Agora sugiro, como um outro colega citou, q pra novos projetos, principalmente em se tratando de Mobile/WEB adotem outra linguagem/ferramenta., pq o Five é mais pra Desktop apesar de ter suas vertentes.
No fórum do Toledo teve uma discussão sobre o futuro do Harbour compilador, q parece estar meio parado, o xHarbour não sei, mas mesmo q pare totalmente eles, ainda pode-se sobreviver um bom tempo/anos com a dobradinha Harbour/Fivewin em ambiente Desktop.
Eu por exemplo fiz um app mobile integrado com meu sistema CONSOLE não é nem five nem outro, via DBF com WebService etc, roda rápido e funcional e não precisei mudar meu legado, apenas para novos projetos nova linguagem/ferramenta (tb escolhi o Windev como o Luis e outros fivewinners)
O importante é se manter antenado ao mercado. Nada q desmereça o Five, mas fica a dica, novos projetos Mobile/Web sugiro avaliarem outras possibilidades.
-
Conheço mas não uso, mas se a intenção é usar pra NFCe sugiro olhar/comparar tb o ACBrMonitor q até onde sei trabalha semelhante ao UNINFe via troca de arquivos TXT e oferece ramificações de soluções para CTe/MDFe/DFe/Boleto/Balança etc...
-
Q legal não sabia disso do <b>
Isso seria marcação html correto? Se sim podemos usar as demais tags?
Cara por isso é bom compartilhamos conhecimento vamos aprendendo.
MDFE - AVERBAÇÃO SEGURO
in Programação
Posted
Boa tarde, a dúvida esta quando tentamos enviar o XML via conteúdo ou caminho de ambas as formas o retorno é NO XML or ZIP FILE
como se não estivéssemos mandando nada, ou seja, provavelmente esta na forma q estamos enviando o xml.