*------Ejemplo para consumir un webservice--------------*
*------jecutar una consulta y como resultado obtener un cursor
LOCAL loWSPrueba AS "XML Web Service"
LOCAL loException, lcErrorMsg, loWSHandler
TRY
loWSPrueba = CREATEOBJECT("MSSOAP.SoapClient30")
* Llamo al metodo que cree en el Web Service
oXML = loWSPrueba.validasifacon([1745896745001],[lk8a6a])
SET STEP ON
IF VARTYPE(oXML.item(1).firstChild)="O" &&Verifico si se creo el objeto oXML
* Convierto el Dataset a Cursor VFP
XMLTOCURSOR(oXML.item(1).firstChild.xml,"TmpClienteFactura")
ENDIF
CATCH TO loException
lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message
DO CASE
CASE VARTYPE(loWSPrueba)#"O"
lcErrorMsg = "Falla de conexion al Web Service"
CASE !EMPTY(loWSPrueba.FaultCode)
* SOAP error al llamar al metodo
lcErrorMsg=lcErrorMsg+CHR(13)+loWSPrueba.Detail
OTHERWISE
* Otros errores
ENDCASE
MESSAGEBOX(lcErrorMsg,16,"Error...")
FINALLY
* si todo esta bien hacemos un browse a nuestro cursor
IF USED("TmpClienteFactura")
SELECT TmpClienteFactura
BROWSE
ENDIF
ENDTRY