Erro ao usar MSXML2.ServerXMLHTTP

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Erro ao usar MSXML2.ServerXMLHTTP

Mensagem por gilbertosilverio »

Olá Amigos,

Hoje começou a retornar este erro, alguém já passou por ele, pesquisei na net e não achei nada... alguma dica?

Error WINOLE/1007 A data deste certificado não é válida ou já expirou
(0x80072F05): msxml6.dll (DOS Error -2147352567)
Called from ->WIN_OLEAUTO:SEND(0)
Called from ->BIO_ENVIA_WH(337)

Uso essa rotina para baixar os XMLS, pelo SOAPUI, comunica normalmente.

Código: Selecionar todos


      Try
         oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP.6.0" )

         cBegin := TIME()
         cEnd   := TimeToSec(cBEGIN) - 180          // hora menos 14 minutos 60*14=840  // 18000 = 5hrs
         DTFIM  := DTOC(DATE())+[ ]+TIME()          // hora atual
         DTINI  := DTOC(DATE())+[ ]+SECTOTIME(cEND) // hora atual - 14 minutos
         cUrl   := "https://ws.bionexo.com.br"
         cHost  := "https://ws.bionexo.com.br"

         cXmlEnvio := [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
         xmlns:web="http://webservice.bionexo.com/">]
         cXmlEnvio +=     [<soapenv:Header/>]
         cXmlEnvio +=     [<soapenv:Body>]
         cXmlEnvio +=        [<web:request>]
         cXmlEnvio +=           [<login>es</login>]
         cXmlEnvio +=           [<password>123</password>]
         cXmlEnvio +=           [<operation>] + xWG + [</operation>]
         cXmlEnvio +=           [<parameters>DT_BEGIN=] + DTINI + [;DT_END=] + DTFIM + [;LAYOUT=WG;ISO=0</parameters>]
         cXmlEnvio +=        [</web:request>]
         cXmlEnvio +=     [</soapenv:Body>]
         cXmlEnvio += [</soapenv:Envelope>]

         Hb_MemoWrit( cXML, cXmlEnvio)

      CATCH
         return
      endtry

      try
         oServer:Open( "POST", cUrl, .F. )
         oServer:SetRequestHeader( "Content-Type",        [text/xml;charset=UTF-8])        
         oServer:SetRequestHeader( "Content-Length",      [468] )                                   
         oServer:SetRequestHeader( "Host",                [ws.bionexo.com.br])                   
         oServer:SetRequestHeader( "Connection",          [Keep-Alive])                           
         oServer:SetRequestHeader( "User-Agent",          [Apache-HttpClient/4.1.1 (java 1.5)])    

         oServer:send( cXmlEnvio )

         if oServer:readyState <> 4
            oServer:WaitForResponse( 5000 )                                                           
         endif

         If oServer:Status = 200 // if oServer:readyState() = 4
            cRetorno := oServer:responseText
            IF ValType( cRetorno ) != "C"
               cRetorno := ""
            ELSE
               HB_MemoWrit( ArquivoXml, hb_UTF8ToStr(TROCA_ACENTO(cRETORNO, .T.), "PTISO" ) )
               Ler_dados_SOAP(UTF_REMOVE(ArquivoXml))
            ENDIF
         endif
      Catch
         ArquivoXml := [C:\BIONEXO\DISTRI\ENTRADA\ERRO_BIO_SOAP_]+SUBSTR(TIME(),1,2)+[_]+SUBSTR(TIME(),4,2)+[_]+SUBSTR(TIME(),7,2)+[.XML]
         HB_MemoWrit( ArquivoXml, [Erro de conexao] )
         return nil
      endtry

Outra duvida, como posso ler o retorno do erro do MSXML2.ServerXMLHTTP.

Grato
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro ao usar MSXML2.ServerXMLHTTP

Mensagem por JoséQuintas »

Vai lá nos certificados, e apaga os vencidos.
Mas pera aí... cadê a definição de certificado?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Erro ao usar MSXML2.ServerXMLHTTP

Mensagem por gilbertosilverio »

Quintas,

Isso esta acontecendo somente com um web Server, tenho outros portais que não da este erro, consigo baixar sem problema os xmls.

Na minha maquina, e tanto no servidor onde uso o sistema, ocorrem o mesmo erro, para esta conexão.

Entrei em contato como o suporte, e eles me disserem que e problema do windows.

O meu server e um datacenter da uolhost, com server 2008, será que e a versão da msxml6.ddl?

Tem como eu saber o erro que este webserve me retorna.

Consegui este erro tirando a rotina de dentro do try, ai apareceu esse erro ai.

Na minha maquina w10, também ocorre o mesmo erro.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro ao usar MSXML2.ServerXMLHTTP

Mensagem por JoséQuintas »

O que mais tem na internet é erro desse tipo.
O máximo que pode tentar é isto:

Código: Selecionar todos

      oServer:setOption( 2, 13056 )
ignorar todos os erros referentes a certificado.

Se isso não resolver... talvez sem chance.

Não sei se dá pra considerar conexões anormais, onde o cara cria a conexão que obriga certificado, mas que coloca opção também de usar SEM certificado.
O Windows vai conectar... testa... precisa certificado? então envia...
O servidor detecta que está recebendo certificado, então se configura pra conexão com certificado, onde o certificado não vale.
E com isso, os dois não conseguem conversar.
Isso acaba invalidandoa conexão.

A única opção que encontrei foi essa.
Segundo um programador de PHP, no Linux dá pra fazer, mas usando componentes Windows não, pelo motivo acima.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Erro ao usar MSXML2.ServerXMLHTTP

Mensagem por gilbertosilverio »

Quintas,

Muito obrigado, funcionou... Vou continuar testando para ver se esta tudo ok.

So mais um ajuda, tem como eu saber os retornos dos erros, dentro do tray, você usa algum método pra isso.

Novamente, muito obrigado pela sua atenção em nos ajudar.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro ao usar MSXML2.ServerXMLHTTP

Mensagem por JoséQuintas »

gilbertosilverio escreveu:So mais um ajuda, tem como eu saber os retornos dos erros, dentro do tray, você usa algum método pra isso.
Essa rotina tá pegando retornos, e você tem o nome.
A partir daí, é criar a rotina de aviso com o que usa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder