viernes, junio 03, 2016

Ejecutar aplicaciones VFP en UBUNTU

Resulta importante considerar la opcion de utilizar Ubuntu, para poder utilizar aplicaciones de windows con vfp se debe hacer lo siguiente:

1.- Instalar el WINE.
2.- Instalar el winetricks
3.- Ejecutar winetricks seleccione la opcion select default the wineprefix
4.- Seleccionar a Windows DLL or Component.
5.- Seleccionar jet40, mfc42 y mdac28, msvcirt
6.- En una terminal ejecute: sudo apt-get install iodbc
7.- Ejecutar iodbcadm-gtk
8.- Instalar linuxODBCsudo apt-get install unixodbc unixodbc-dev









Genexus consumir servicios web SOAP con VFP.



Event Enter
        &HttpClient.Host     =    "laip"
        &HttpClient.BaseUrl =    "/carpetaapl/servlet/"
        &BaseUrl             =    "servicowebsoap"     
        &EscribeXml.openRequest(&HttpClient)
        &EscribeXml.WriteStartDocument('utf-8')
            &EscribeXml.WriteStartElement("soapenv:Envelope")
                &EscribeXml.WriteAttribute("xmlns:soapenv", "http://schemas.xmlsoap.org/soap/envelope/")
                &EscribeXml.WriteAttribute("xmlns:gxe2", "gxe2_aplicacion")      
                &EscribeXml.WriteElement("soapenv:Header")               
                &EscribeXml.WriteStartElement("soapenv:Body")

                &EscribeXml.WriteStartElement("gxe2:procedimiento.Execute")                            &EscribeXml.WriteElement("gxe2:I_Cliente", "8888")                   
                        &EscribeXml.WriteElement("gxe2:I_NombreCliente", &ClienteNom.ToString())     

                   &EscribeXml.WriteEndElement()                       
                &EscribeXml.WriteEndElement()
            &EscribeXml.WriteEndElement()       
        &EscribeXml.Close()
        &HttpClient.Execute('POST',    &BaseUrl)
        &CodigoError            =    &HttpClient.ErrCode
        If    &CodigoError >    0
            &Mensaje    =    &HttpClient.ErrDescription
        Else
            &Retorno     =     &HttpClient.ToString()
            &LeeXml.openResponse(&HttpClient)       
            &LeeXml.ReadType(1, 'Cliente')
            &ClienteCodigo    = &LeeXml.value
            &LeeXml.ReadType(1, 'NombreCliente')
            &ClienteNombre    = &LeeXml.value
        Endif  
 


Tipo de Variables:
&HttpClient Tipo HttClient
&EscribeXml Tipo XmlWriter
&LeerXml  Tipo XmlReader
&BaseUrl Tipo VarChar
&CodigoError Tipo Numerico de 8 de largo.
&Mensaje Tipo VarChar.
&ClienteCodigo Tipo VarChar.
&ClienteNombre Tipo VarChar.
&Retorno Tipo LongVarChar.