viernes, junio 03, 2016

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.

No hay comentarios: