Page 1 of 1

Usando webservice de un tercero

PostPosted: Tue Jun 06, 2023 10:33 pm
by Adolfo
Hola fivewinners

Tengo una opcion de leer unos xml sobre detalles tecnicos de productos

Esta es el comando que me enviaron, supuestamente los datos vienen en fichas xml

https://tecnixxx.cl/?a=get-fichas&desde ... pppp&xml=1

"https://tecnixxx.cl/?a=get-fichas&desde=1205569&user=uuuuuuuu&pwd=pppppppppp&xml=1 "

Antes me he conectado por SOAP sin problemas y leo algunos datos desde otra webservice, pero esta vez quede en duda si usar CreateObject( "MSXML2.XMLHTTP" )
o CURL

Si alguien tiene un ejemplo o lineamiento para seguir se lo agradeceria
Saludos

Re: Usando webservice de un tercero

PostPosted: Tue Jun 06, 2023 10:48 pm
by cnavarro
Adolfo, ambas opciones te servirán, aunque particularmente prefiero el uso de CURL
En el foro tienes bastantes ejemplos de su uso

Re: Usando webservice de un tercero

PostPosted: Tue Jun 06, 2023 11:08 pm
by cmsoft
Con MSXML2.XMLHTTP podrías tranquilamente
Te dejo un ejemplo por si te sirve

Code: Select all  Expand view

STATIC oOle
FUNCTION VerXml(cdesde)
LOCAL oError, aRecord
LOCAL aResp, cToken , lHuboErroes := .f., aErrores := {}
LOCAL cJson,cContentType:="application/json",cAuthorization:=""
Try
    oOle := Createobject("MSXML2.ServerXMLHTTP")
Catch
    oOle := CreateObject( 'Microsoft.XMLHTTP' )
End  
cContentType:="application/xml"
aResp := SendGetToUrl( "https://tecnixxx.cl/?a=get-fichas&desde="+cDesde+"&user=uuuuuuuu&pwd=pppppppppp&xml=1",, cContentType )       GrabaArchivo('test.xml',aResp)
Return nil

STATIC Function SendGetToUrl( cUrl, cParams,cContentType,cAuthorization )
    Local cRet:='',uRet
    default cContentType:="application/json"
    default cAuthorization:=""
   
    oOle:Open( 'GET', cUrl, .f. )
   
    oOle:SetRequestHeader( "Content-Type",cContentType)
    if !empty(cAuthorization)
        oOle:SetRequestHeader( "Authorization",cAuthorization)
    end if    
    oOle:Send(  )
    cRet:=""
    cRet := oOle:ResponseBody
Return cRet

STATIC FUNCTION GrabaArchivo(cArchivo,cDato)
LOCAL Han
Han := LCREAT(cArchivo)
FWRITE(Han,cDato,Len(cDato))
LCLOSE(Han)
RETURN nil
 

Creo que algo asi podría funcionarte

Re: Usando webservice de un tercero

PostPosted: Wed Jun 07, 2023 3:12 am
by Adolfo
Gracias a ambos.
Probare y les comento

Saludos desde Chile

Re: Usando webservice de un tercero

PostPosted: Thu Feb 01, 2024 5:12 pm
by Marcelo Via Giglio
Buenas tardes a todos,

he tienido problemas con consumir servicios web desde maquinas con windows 7, saben alguna restriccion con esta version de windows, o hay otra manera de consumir estos servicios

un saludo y gracias

Marcelo