VFP e WEB Services

261 views
Skip to first unread message

Mimmo

unread,
Oct 26, 2018, 12:06:41 PM10/26/18
to Foxpro Italia
Buonasera,
avrei bisogno di un consiglio per l'implementazione delle funzioni per dialogare con un WEB Services.
Ho un manuale in cui sono descritte delle funzioni per inviare comandi e ricevere informazioni da questo Web Service, ma onestamente non sò interpretarli.
Con VFP9 si può realizzare?
Grazie,
MImmo.

Claudio Brusaferri

unread,
Oct 26, 2018, 12:21:07 PM10/26/18
to foxpro...@googlegroups.com
Ciao Mimmo,
per aiutarti dovresti postare almeno qualche istruzioni.
Penso comunque che la comunicazione con il webservice avverrà con richieste di tipo HTTP.
Se è così ci sono degli oggetti in fox che puoi utilizzare tranquillamente.
Tipo msxml2.xmlhttp o simili, sto lavorando su questo tipo d'integrazione proprio in questi mesi e suppongo che ti trovi davanti a questo problema per la fatturazione elettronica.


--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Foxpro Italia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a foxpro-itali...@googlegroups.com.
Per postare in questo gruppo, invia un'email a foxpro...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/foxpro-italia/adee6e75-3070-408b-b68e-3dea20e530f8%40googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.


--
Claudio Brusaferri
@brusacla

Mimmo

unread,
Oct 26, 2018, 12:27:00 PM10/26/18
to Foxpro Italia
Ciao Claudio,
hai supposto bene! :)
Devo valutare se utilizzare dei servizi da integrare nel mio gestionale, quindi devo prima capire se e come si può fare.
Quindi visto che stiamo parlando della stessa cosa potresti aiutarmi?

Claudio Brusaferri

unread,
Oct 26, 2018, 12:32:23 PM10/26/18
to foxpro...@googlegroups.com
Volentieri, se vuoi scrivimi in privato.


Per altre opzioni visita https://groups.google.com/d/optout.


--
Claudio Brusaferri
@brusacla

Claudio Brusaferri

unread,
Oct 26, 2018, 12:34:20 PM10/26/18
to foxpro...@googlegroups.com
O almeno posta qualcosa del manuale, così ti so indicare che tipo d'integrazione c'è da fare
--
Claudio Brusaferri
@brusacla

qgaetano71

unread,
Oct 26, 2018, 12:36:15 PM10/26/18
to foxpro...@googlegroups.com
Sarebbe meglio continuare qui l'argomento, penso sia utile ed interessante per molti, se poi si riuscisse a fare una bella funzione/classe per gestire la fattura elettronica, la firma, e la spedizione, magari con la collabborazione di tutti e renderla disponibile, sarebbe una figata. In altri forum tipo fox spagna hanno fatto cosi per le fatture elettroniche cile, peru,equador.

Claudio Brusaferri

unread,
Oct 26, 2018, 12:38:53 PM10/26/18
to foxpro...@googlegroups.com
Sono d'accordo, però non esiste un modo solo per gestire la fatturazione elettronica e Mimmo parla d'integrazione con un web service preciso (mi pare di capire) quindi bisogna fare qualcosa ad hoc. La classe per gestire le richieste http è quella che dicevo prima o qualcosa di simile, però come usarla va in base a quello che richiede il webservice. 


Per altre opzioni visita https://groups.google.com/d/optout.


--
Claudio Brusaferri
@brusacla

Mimmo

unread,
Oct 26, 2018, 12:51:11 PM10/26/18
to Foxpro Italia
Per dialogare con i servizi digitali di fatturazione elettronica bisogna avvalersi di una piattaforma esterna resa disponibile da una terza parte.
Questo serve per automatizzare al massimo l'invio e la ricezione dei file XML, integrando nel gestionale proprietario le funzioni per dialogare con la piattaforma digitale.
Intanto posto qui un esempio di codice presente sul manuale della piattaforma, però invio il manuale completo a Claudio perchè sicuramente può essere più facile per lui recuperare le informazioni che gli servono.
Comunque possiamo sicuramente continuare a discuterne senza problemi sul gruppo.

Esempio di JSON Request applicato alle fatture attive:

{
"site":"Collaudo",
"class":"olv:fatCliSDI",
"items":
[
{
"keys":
[
{"olv:fatCliSDIId":12345678}
],
"metadata":
[
{"olv:escludi ":"true"}
]
},
{
"keys":
[
{"olv:fatCliSDIId":87654321}
],
"metadata":
[
{"olv:escludi ":"true"}
]
}
]
}

Claudio Brusaferri

unread,
Oct 26, 2018, 1:43:16 PM10/26/18
to foxpro...@googlegroups.com
Intanto ti serve un lettore json per semplificare la gestione dei dati e ticonsiy di usare quello che trovi qui https://github.com/VFPX/nfJson 
Nello specifico se usi il PRG nfjsonread puoi passargli direttamente il json come una stringa e lui ti restituisce un oggetto con già tutti gli elementi del json suddivisi. Se ci sono dei json con liste di dati nell'oggetto troverai anche l'array con dentro tutti i record.

Quindi se per esempio fai:

Local logg

logg = nfjsonread (stringa json caricata)

Dopo per leggere il contenuto di "site" per esempio puoi fare

logg.site

E così via per tutto il resto

Alberto Dall'arche

unread,
Mar 21, 2024, 12:50:03 PM3/21/24
to Foxpro Italia
In rete ci sono un paio di classi custom per la lettura di json. 

Anche questo non è male:
https://github.com/sait/vfpjson
E questo implementa già le chiamate Web Service:

Se invece non vuoi complicarti la vita e non vuoi aggiungere parti terze puoi gestirti il json come una stringa normale (in questo modo):
e per la parte di web service ci sono 
xmlHttp = CREATEOBJECT("MSXML2.ServerXMLHTTP") &&ma è la verisone vecchia so che adesso c'e n'è un altra che mi sfugge
xmlHttp.open(pMetod, pUrl, null)
xmlHttp.setRequestHeader("Content-Type", "text/xml")
xmlHttp.send( SendString)
result = xmlHttp.responseText
? result

Sono un paio di giorni che sto cercando di valutare anch'io come fare. Ho alcuni clienti che chiedono per la gestione delle stampanti e portali di terze parti.


Ti consiglio anche di tenere aperta questa pagina per i tuoi test : (è un validatore di json)

Spero di essere d'aiuto
Reply all
Reply to author
Forward
0 new messages