[PHP] Web app Rest chiamata Get

Stato
Chiusa ad ulteriori risposte.

Alberto Simonazzi

Nuovo Utente
31 Ago 2018
6
0
1
Buongiorno a Tutti!!

dovrei fare una chiamata in PHP ad una WebApp di tipo REST ma la documentazione fornita con l'API è molto limitata, quindi non so davvero come chiamare il servizio.

Ho già fatto chiamate a WebApp di tipo Soap e non ho mai avuto problemi, ma col servizio di Tipo Restfull non ho proprio esperienza.

Ho provati vari codici in giro in Curl ma senza successo. Se potete darmi una Dritta o un sito di riferimento per comunicare con una App di tipo Restfull mi fareste un grosso favore.

Qui sotto vi metto i dettagli Fornitemi della App oltre ad allegare il Pdf nella discussione:

Grazie a tutti in anticipo

Alberto

Dati Personali per Accedere all'App:

Host: si-totem40.servizitalia.spa:8080
Username: newfleurws,
Password: nfws123
QueryString: ?sito=FL002&destinatario=E000025


WEB SERVICE GESTIONE CONSEGNE

1.TECNOLOGIA

Il web service è un servizio rest, che utilizza la Basic Authentication per l’autenticazione.
Il servizio risponde ad una chiamata http GET.

Esempio di chiamata al Web Service presa dall’ app. PostMan

GET /newFleurWs/resources/consegne?sito=CA001&destinatario=013864 HTTP/1.1
Host: localhost:8093
Authorization: Basic YmlhbmNhOjFub25sYXNvISEh
Cache-Control: no-cache
Postman-Token: 2fbd993e-dd60-50ab-a05f-c3ecf10cb63b

La chiamata è composta dell’header del messaggio e non ha un corpo essendo una GET.
Il servizio restituisce un stringa in formato JSON

2.MODALITÀ ACCESSO AL WEB SERVICE

Il web service è accessibile attraverso l’indirizzo: {NOME_HOST}/newFleurWs/resources/consegne

A questo indirizzo andranno aggiunti due parametri da legare all’URL per mezzo di una query string che rappresenta i parametri di input per il servizio: il primo è il codice del sito produttivo di cui ci interessa sapere la lavorazione, il secondo il codice del destinatario di cui vogliamo sapere le consegne:

Esempio di query-string
?sito=CA001&destinatario=013864
Nome parametri
Valore parametri

Inoltre si dovrà effettuare un’autenticazione col metodo basic access authentication, inserendo l’ header HTTP Authorization costituito da:

1. Username e password uniti nella stringa "username:password"
2. Il risultato codificato con base64
3. Il metodo di autorizzazione (basic) e uno spazio sono inseriti all'inizio della stringa codificata.

Esempio di header HTTP Authorization
Authorization: Basic YmlhbmNhOjFub25sYXNvISEh

3.RISPOSTA DEL WEB SERVICE

La risposta del servizio è costituita da un JSON costituito da due sotto elementi:
Nel caso di errore dalla proprietà Status e dalla proprietà Message che descrive l’errore, in
caso di esito positivo della chiamata avrà sempre il valore Status e come seconda proprietà Result un
array che contiene i records da ritornare.
Status è una proprietà di controllo per capire se la chiamata è andata a buon fine o no, esso
assumerà valore 0 in caso di fallimento, 1 in caso di riuscita.

Esempio di JSON restituito da un esito positivo:

{"Status":1,"Result":[{"codiceDestinatario":"013864","descrizioneDestinatario":"PIANO
1","codiceArticolo":"000946B","descrizioneArticolo":"COPRIMACCHIA 100X100 ROSAUHF","
dotazioneAggiornata":-
151,"qtaPacco":20,"riportoPartite":161,"partitaDaProdurre":0,"creditoDaEvadere":161,"daProdurre"
:161,"prodotta":0,"stato":"Attiva"},{"codiceDestinatario":"013864","descrizioneDestinatario":"PIAN
O 1","codiceArticolo":"014543B","descrizioneArticolo":"CASACCA UNISEX S.O. COL. AVIOUHF","
dotazioneAggiornata":-
168,"qtaPacco":5,"riportoPartite":218,"partitaDaProdurre":0,"creditoDaEvadere":218,"daProdurre":
218,"prodotta":0,"stato":"Attiva"},{"codiceDestinatario":"013864","descrizioneDestinatario":"PIANO
1","codiceArticolo":"014544B","descrizioneArticolo":"PANTALONE UNISEX S.O. COL. AVIOUHF","
dotazioneAggiornata":-
226,"qtaPacco":5,"riportoPartite":262,"partitaDaProdurre":0,"creditoDaEvadere":262,"daProdurre":
262,"prodotta":0,"stato":"Attiva"},{"codiceDestinatario":"013864","descrizioneDestinatario":"PIANO
1","codiceArticolo":"018943B","descrizioneArticolo":"LENZUOLO CAN.MISTO
C/STAMP.CM160X290-UHF","dotazioneAggiornata":-
85,"qtaPacco":10,"riportoPartite":0,"partitaDaProdurre":0,"creditoDaEvadere":0,"daProdurre":0,"pr
odotta":0,"stato":"Attiva"}]}

Esempio di JSON restituito da un esito negativo:

{"Status":0,"Message":"Site not found"}
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Non è consentito aprire 2 discussioni uguali!
Per quale motivo lo fai?
 

Alberto Simonazzi

Nuovo Utente
31 Ago 2018
6
0
1
La prima la volevo Eliminare!! Ma non so come si fa! Se la modificavo mi dava errore come span e quindi ne ho creata una nuova
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
Perchè la dovresti eliminare?
Le discussioni non si eliminano! Solo i membri dello staff possono farlo se è il caso!
Continua la!
 

Alberto Simonazzi

Nuovo Utente
31 Ago 2018
6
0
1
Grazie comunque per la Risposta!! Adesso sto provando col Curl

Ma mi sa che i dati Forniti dal mio Cliente non siano corretti in quanto non ottengo nessuna risposta dal server… neanche negativa...

Mettendo altri host almeno ho delle risposte...

Qui metto il codice che ho usato:

$url = "http:/si-totem40.servizitalia.spa";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
$headers = array(
'GET /newFleurWs/resources/consegne?sito=FL002&destinatario=E000025 HTTP/1.1',
'Host: localhost:80',
'Authorization: Basic bmV3ZmxldXJ3czpuZndzMTIz',
'Cache-Control: no-cache',
'Postman-Token: 2fbd993e-dd60-50ab-a05f-c3ecf10cb63b'
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

//curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body
$head = curl_exec($ch);


curl_close($ch);
var_dump($head);

Grazie Ancora e Buona Notte!!
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Web App REST chiamata GET PHP 3
L [PHP] Convertire web codeigniter in App PHP 0
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
L Aiuto per programma web php/mySQL PHP 2
P [OFFRO] Realizzazione siti web in PHP/MYSQL, responsive e Ottimizzati SEO Offerte e Richieste di Lavoro e/o Collaborazione 0
felino [PHP] Monitorare una pagina web ciclicamente PHP 2
A Limitare accesso ad alcune pagine web PHP PHP 2
Domenico_Falco1 Rendere dinamico un sito web con chiamate ajax e php e variabili json PHP 12
L [PHP] comando curl ad una pagin web PHP 1
S [PHP] web-scraping PHP 2
G [PHP] Web Service Digital Hun Zucchetti Windows e Software 3
F [PHP] Creare un'area web riservata PHP 13
W [PHP] Login sicuro al web Service SOAP PHP 20
S [PHP] estrarre dati sito web protetto con username e password PHP 13
M [PHP] Info pagina web PHP 6
I [PHP] [Javascript] login da smartphone a web PHP 3
B [PHP] web cam ip PHP 0
pfranco [PHP] Modificare pagina web online PHP 9
F [PHP] Organizzare le directories sul server per un'applicazione web PHP 9
G [PHP] [HTML] Sito web URL e altro PHP 3
G Siti web URL e altro (PHP, HTML) Presentati al Forum 1
Michaelweb93 [PHP] [HTML] Urgenza implementazione - sito web PHP 6
utente [PHP] incorporare una pagina web con scripth da altro sito PHP 3
klode Web Service in PHP a partire da una WSDL PHP 1
L [PHP] Estrarre dati da sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
V [PHP] aggiornamento automatico immagini sito web PHP 3
V [PHP] [HTML] pubblicare immagini wxtoimg su sito web PHP 17
R [PHP] Iniziare con i web services - Soap PHP 0
Zayciho [PHP] Creare sito web dinamico PHP 5
fabryx [PHP] RISOLTO: Download file da web e trasferimento su server PHP 2
M [PHP] [HTML] Raggruppare 4 pagine web in una PHP 3
S [PHP] Web Scraping bloccato? PHP 2
S [PHP] Errore visualizzazione pagina web PHP 1
I (offro) Collaborazione per siti web html, php... Offerte e Richieste di Lavoro e/o Collaborazione 0
B [cerco programmatore/socio] sito web php Offerte e Richieste di Lavoro e/o Collaborazione 2
D Cercasi programmatore PHP per poche ore mensili con scambio servizi hosting, spazio web, pec e domin Offerte e Richieste di Lavoro e/o Collaborazione 0
C Console WEB in PHP PHP 5
M [Retribuito] Web Developer (PHP/MySQL/Javascript) Offerte e Richieste di Lavoro e/o Collaborazione 0
M [Cerco Lavoro] [Retribuito]Creazione siti web,e-commerce,singoli script php, conversioni psd-html Offerte e Richieste di Lavoro e/o Collaborazione 0
M Aprire file php di una pagina web! PHP 5
E Cerco per persona che impartisce lezioni di web-php Offerte e Richieste di Lavoro e/o Collaborazione 1
S [GRATUITO] Per framework, e progetto open Source cercasi programmatore PHP e GRAFICO WEB Designer Offerte e Richieste di Lavoro e/o Collaborazione 1
A Sitemap per sito web php PHP 0
L Sfondo pagina web con php PHP 1
D [RETRIBUITO] Cercasi Web developer PHP a Genova Offerte e Richieste di Lavoro e/o Collaborazione 0
M [offerta assunzione] [retribuita] Web Developer - TDD e PHP Specialist Offerte e Richieste di Lavoro e/o Collaborazione 0
Jonn Sito Web scritto in PHP Presenta il tuo Sito 4
Jonn Strutturazione di sito web con Include PHP PHP 2
U Usare script PHP come server web PHP 6
M [Cerco Lavoro] [Retribuito] Siti web, singoli script php, conversioni psd-html Offerte e Richieste di Lavoro e/o Collaborazione 2

Discussioni simili