Inviare dati JSON in GET o POST ad un servizio REST

Attenzione !I messaggi sul forum potrebbero essere modificati dal nostro staff. La data e l'ora dei messaggi potrebbe non essere quella di invio ma quella di moderazione da parte dello staff. Grazie per l'attenzione.

Home Forum Controllori SlimLine e Netsyst (LogicLab) Inviare dati JSON in GET o POST ad un servizio REST

Questo argomento contiene 3 risposte, ha 3 partecipanti, ed è stato aggiornato da  Sergio Bertana 6 mesi, 3 settimane fa.

Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #46513

    Andrea Feduzzi
    Partecipante

    Salve un cliente mi ha chiesto, per comunicare con il proprio gestionale, di inviare http con un json, il servizio è un API rest. Posso usare il FB RESTClient ?

    Qui sotto lascio due esempi dati dal cliente, in GET un esempio è questo::

    href="https://webhook-service.photoforse.online/webhooks/custom/6eb07212-b85c-4ca1-866f-0521e3af07b9?idAzienda=1&idOrdine=12345" target="_blank" rel="noopener">https://sample-service.esempio.online/webesempio/custom/6eb07212-b85c-4ca1-866f-0521e3af07b9?idAzienda=1&idOrdine=12345

    Oppure in POST dove invece abbiamo:

    https://sample.service.esempio.online/webesempio/custom/6eb07212-b85c-4ca1-866f-0521e3af07b9
    #46516

    Sergio Bertana
    Amministratore del forum

    Il FB RESTClient non è trasparente, il FB aggiunge ai dati delle ulteriori informazioni che sono utilizzate per controllare il dialogo con il server. In pratica viene aggiunto un identificativo di messaggio una versione di messaggio ed il numero di reinvio in caso di errore.

    Ma quello che ti serve lo puoi tranquillamente realizzare utilizzando il FB HTPClient che può gestire sia richieste GET che PUT e POST. Ma attenzione al momento non è gestito l’https, quindi se il server REST accetta anche richieste HTTP lo puoi sicuramente gestire. Ecco un esempio di richiesta GET:

    HTTPRq.Method:=0; (* Request method, GET *)
    HTTPRq.HostAddress:=ADR('webhook-service.photoforse.online'); (* Main coordinator *)
    HTTPRq.HostName:=HTTPRq.HostAddress; (* Hostname *)
    HTTPRq.HostPort:=80; (* Server port *)
    HTTPRq.Page:=ADR('webhooks/custom/6eb07212-b85c-4ca1-866f-0521e3af07b9'); (* Web page *)
    HTTPRq.Request:=ADR('idAzienda=1$26idOrdine=12345'); (* Request string *)
    HTTPRq.DBSize:=256; (* Data buffer size *)
    HTTPRq.Timeout:=10000; (* Execution timeout *)
    #46549

    giuseppe magistri
    Partecipante

    Stiamo testando un vostro PLC: MPS053B110 SW:SFW184B090, per verificarne la compatibilità con i nostri sistemi di supervisione.

    Sarebbe possibile avere un semplice demo di programma che ci consenta di leggere e scrivere anche solo un ingresso digitale ed un uscita digitale in con protocollo JSON in HTTP?

    #46559

    Sergio Bertana
    Amministratore del forum

    La domanda è un pò fuori topic, qui stiamo parlando di inviare e ricevere stringe JSON dal PLC che agisce come client (Agisce come un browser) verso un servizio REST che è un server HTTP.

    A te invece serve che il PLC agisca da server HTTP ed il tuo SCADA è un client, in questo caso puoi utilizzare la tecnica delle pagine dinamiche vedi questo topic.

    Anche se solitamente gli SCADA dialogano con i PLC con protocolli di comunicazione diversi, e noi a questo scopo gestiamo standard il protocollo Modbus.

Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)

Devi essere loggato per rispondere a questa discussione.