Page 1 of 1

XMLHTTP en Linux

Posted: Wed Oct 07, 2020 1:44 pm
by csincuir
Hola a todos.
Alguno a trabajado con MSXML2.XMLHTTP en Linux? corriendo la aplicación con Wine en Linux Mint?
Tengo este código, que funciona correctamente en Windows

Code: Select all

TRY
  oHttp := CreateObject( "MSXML2.ServerXMLHTTP" )
  lOle := .t.
CATCH
  oHttp := CreateObject( "MSXML2.XMLHTTP" )
  lOle := .t.
END

If !lOle 
   Return .f.
End 
  
TRY
    oHttp:open("POST",cUrl,.f.)
    oHttp:setrequestheader("SOAPAction","http://www.fact.com.mx/schema/ws/RequestTransaction")
    oHttp:setrequestheader("content-type","text/xml")
    oHttp:Send(cXML)

catch oError
    MsgStop( "Error" + CRLF  + "Error: " + cValToChar( oError:GenCode) + CRLF + ;
               "SubC: " + cValToChar( oError:SubCode ) + CRLF + "OSCode: " + cValToChar( oError:OsCode ) + CRLF + ;
               "SubSystem: " + cValToChar( oError:SubSystem ) + CRLF + "Envio de SOAP: " + oError:Description )

   return .f.
end
Pero en Linux no funciona, después del :Send(), me da el siguiente error:

Code: Select all

GenCode: 1
SubCode: 1007
OSCode: -2147352567
SubSystem: WINOLE
Description: (0x800C0019)
 
Según veo es un error de WinOle?
Cualquier ayuda se las agradecería.

Saludos

Carlos.

Re: XMLHTTP en Linux

Posted: Sat Oct 10, 2020 9:47 am
by xmanuel
Hola Carlos.
Soy Manu Expósito. Me alegra muchísimo saber de ti!!!

No sé mucho sobre el tema que preguntas, pero por lo que sé OLE está basado en DCOM tecnología propietaria de Micro Soft.
Wine no sé si eso lo clona totalmente o si lo clona es compatible al 100 X 100. Por tus pruebas se ve que no.

Habría que usar algo similar pero que sea universal o sea la tecnología CORBA. Que es compatible en todos los sistemas operativo MS, Linux o iOS.

Tanto DCOM como CORBA nos ofrecen la posibilidad de usar objetos binarios, es decir, la de compartir objetos hecho en diferentes lenguajes.

Realmente este post sólo lo quería usar para aprovechar y saludarte.

Re: XMLHTTP en Linux

Posted: Sat Oct 10, 2020 11:02 am
by Antonio Linares
https://stackoverflow.com/questions/517 ... is-invalid
XMLHttpRequest: Network Error 0x800c0019, Security certificate required to access this resource is invalid

Re: XMLHTTP en Linux

Posted: Sat Oct 10, 2020 12:09 pm
by csincuir
Hola Manu!! igualmente, gusto de poder hablar contigo por este medio
Si, lamentablemente ya me di cuenta que Wine no tiene tan compatible el tema de OLE en Linux.
Solo es un cliente que tiene sus computadoras con Linux, funcionando mi sistema, y todo bien, conectando con MySQL con Eagle1 :D
Pero ahora, tiene que empezar a trabajar con facturas electrónicas, que con Windows no hay problema.
Seguire investigando, y si encuentro la forma de trabajar esto con Linux les cuento por aca.

Por cierto, sigo pendiente con HDO, no he podido hacer el tiempo para probarla bien.

Gusto de saludarte.

Carlos
xmanuel wrote:Hola Carlos.
Soy Manu Expósito. Me alegra muchísimo saber de ti!!!

No sé mucho sobre el tema que preguntas, pero por lo que sé OLE está basado en DCOM tecnología propietaria de Micro Soft.
Wine no sé si eso lo clona totalmente o si lo clona es compatible al 100 X 100. Por tus pruebas se ve que no.

Habría que usar algo similar pero que sea universal o sea la tecnología CORBA. Que es compatible en todos los sistemas operativo MS, Linux o iOS.

Tanto DCOM como CORBA nos ofrecen la posibilidad de usar objetos binarios, es decir, la de compartir objetos hecho en diferentes lenguajes.

Realmente este post sólo lo quería usar para aprovechar y saludarte.

Re: XMLHTTP en Linux

Posted: Sat Oct 10, 2020 12:15 pm
by csincuir
Hola Antonio
Gracias por el link, que según leo, tiene que ver con crear un certificado SSL para poder hacer una llamada XMLHttp :(
Seguire estudiando esto.

Saludos cordiales.

Carlos.
Antonio Linares wrote:https://stackoverflow.com/questions/517 ... is-invalid
XMLHttpRequest: Network Error 0x800c0019, Security certificate required to access this resource is invalid

Re: XMLHTTP en Linux

Posted: Fri Oct 16, 2020 6:25 am
by darioflores
Hola, no he usado nunca wine, pero si pudieras llamar a comandos de linux desde wine, podrías hacer la llamada usando CURL en vez de MSXML2.ServerXMLHTTP.

Aquí algo de información sobre llamadas a comandos de linux desde wine:
https://stackoverflow.com/questions/600 ... ng-in-wine

Te lo digo como idea, desconozco por completo los problemas o complejidad de hacerlo así.

Un saludo.

Re: XMLHTTP en Linux

Posted: Fri Oct 16, 2020 12:06 pm
by csincuir
Hola Darío, gracias por la idea, voy a leer también el articulo.
El cliente en cuestión usa mi aplicación en Linux sin problema, en bastantes puntos de sucursales de su empresa, pero ahora, tiene que certificar factura electrónica, y ahí se complico la cosa en Linux, ya que por el tema de licenciamiento de Windows el quiere seguir utilizando Linux.

Por el momento lo solucioné de esta forma: En las terminales con Linux, al momento de certificar envío el XML a una base de datos en la nube, y en la oficina central del cliente, hay una aplicación con una computadora con Windows, que esta siempre monitoreando si hay alguna petición para certificar, cuando la encuentra, realiza la certificación con el XML enviado, y coloca en otro registro la firma electrónica recibida y en la terminal de Linux, la toma y ya guarda correctamente la factura. No es muy elegante la solución pero funciona, y solo se demora entre 2 a 3 segundos mas del proceso normal de certificación-

Igual seguiré investigando como poder hacerlo directamente desde Linux con Wine.

Saludos.

Carlos Sincuir
darioflores wrote:Hola, no he usado nunca wine, pero si pudieras llamar a comandos de linux desde wine, podrías hacer la llamada usando CURL en vez de MSXML2.ServerXMLHTTP.

Aquí algo de información sobre llamadas a comandos de linux desde wine:
https://stackoverflow.com/questions/600 ... ng-in-wine

Te lo digo como idea, desconozco por completo los problemas o complejidad de hacerlo así.

Un saludo.