Jump to content
Fivewin Brasil

fladimir

Membros
  • Posts

    364
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by fladimir

  1. 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.

  2.  

    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

  3.  

    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.

  4. 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 é.

  5. 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


     

  6. 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.

  7. <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>
  8. 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.

  9. 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?

  10. 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.

  11. 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...

×
×
  • Create New...