Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Web Service per trasmettere file xml

    Buongiorno a tutti,

    Per un lavoro devo far leggere ogni 24 ore dei file xml a una piattaforma esterna i cui sviluppatori mi hanno chiesto di configurare un'autenticazione tramite web service.
    Il web server è Apache su server Linux, php 5.6 con certificato https.

    Non ho esperienza con i web services..ho letto un po' di tutorial stamattina ma non mi è chiaro come sono strutturati.
    Se ad esempio usassi SOAP non ho capito bene da dove si prende il file .wsdl
    E' un file che devo creare io o viene fornito dal web server?

    grazie
    digitos

  2. #2
    lascia perdere SOAP con PHP (ihmo), a meno che non ti sia imposto. Il resto, dipende da che devi fare

    - vuoi usare Soap, Xml, o Rest/Json?
    - che tipo di autenticazione vuoi utilizzare, HTTP basi authentication, Token/Api-Key, Custom header con token, altro ?

    per quanto riguarda la parte XML/Soap, devi prima progettare gli .xsd dei tuoi webservices, da li generi le classi php corrispondenti. il wsdl, per quanto riguarda soap, lo devi fare te o almeno usare programmi per generarlo. Mi pare che SoapServer di PHP lo generi in automatico dalle classi che gli dai, ma non ne sono sicuro sinceramente dovresti leggere la documentazione

    cmq, se riesci a spingere per farli REST i webservices, non fai soldo di danno
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    lascia perdere SOAP con PHP (ihmo), a meno che non ti sia imposto. Il resto, dipende da che devi fare

    - vuoi usare Soap, Xml, o Rest/Json?
    - che tipo di autenticazione vuoi utilizzare, HTTP basi authentication, Token/Api-Key, Custom header con token, altro ?

    per quanto riguarda la parte XML/Soap, devi prima progettare gli .xsd dei tuoi webservices, da li generi le classi php corrispondenti. il wsdl, per quanto riguarda soap, lo devi fare te o almeno usare programmi per generarlo. Mi pare che SoapServer di PHP lo generi in automatico dalle classi che gli dai, ma non ne sono sicuro sinceramente dovresti leggere la documentazione

    cmq, se riesci a spingere per farli REST i webservices, non fai soldo di danno
    Ciao grazie per la risposta.
    Sono io che decido che weservice usare, quindi che cosa mi consiglieresti?
    Ho bisogno che una piattaforma esterna legga i dati di 3 file xml generati dinamicamente da php.
    Dopo la lettura dovrei ricevere una risposta con altri dati che andranno ad aggiornare un database sul mio server.

  4. #4

  5. #5
    HTTP Basi Authentication la puoi configurare direttamente in Apache, e quindi avresti uno script php che semplicemente stampa a video un xml (quindi imposti i giusti header e stampi il file_get_contents che ti serve). Per ricevere i dati, li leggeresti in $_POST

    Altri tipi di autenticazione richiedono che tu legga negli Headers della richiesta ( api-key, header authentication, o altro ) e il resto è come sopra

    Soap aggiunge molta più complessità (come puoi vedere dal link che ti hanno mandato) e soprattutto l'autenticazione si fa diversamente (wsse, ovvero nel messaggio soap viene aggiunto uno specifico header )

    Rest è più snello, ma devi sempre processare la richiesta che ti arriva (i metodi della richiesta) e rispondi in JSOn di solito, quoindi lo escluderei dal discorso

    fai te
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    anche se questo articolo l'ho scritto io, concordo con Santino83_02.
    io anche preferisco REST + JSON.
    se decidi per quets strada, puoi provare con slim framework.
    ti leva parecchio lavoro.

    PS: che bello vedere un mio articolo linkato

  7. #7
    Grazie a tutti. Oggi ci lavoro e vi faccio sapere.
    Ultima modifica di digitos; 07-04-2017 a 12:34

  8. #8
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    HTTP Basi Authentication la puoi configurare direttamente in Apache, e quindi avresti uno script php che semplicemente stampa a video un xml (quindi imposti i giusti header e stampi il file_get_contents che ti serve). Per ricevere i dati, li leggeresti in $_POST
    Sto provando questa strada. Ho trovato diversi esempi in rete ma tutti prevedono che l'autenticazione avvenga attraverso un box di dialogo username/password. Ovviamente non va bene.
    Non capisco. Quando dici che posso configurare l'accesso in apache intendi attraverso un file .htpasswd?
    Scusa queste domande stupide ma non è ancora chiaro come procedere.

  9. #9
    Non so come fare. Ci sto perdendo la testa da ore senza arrivare a un risultato concreto.

    Ho soltanto bisogno di far leggere dei file xml da un altro server a cui devo comunicare username e password per poter accedere.
    Loro mi dicono che è abbastanza semplice ma non mi forniscono esempi (per la serie evviva il lavoro di squadra...)

    Siccome l'operazione di lettura dei file avviene tramite cron a un orario prestabilito ogni giorno, non mi serve l'autenticazione tramite box di dialogo come invece vedo nelle decine di esempi che ho trovato in rete. Qual è l'alternativa?

    grazie
    digitos

  10. #10
    con http basi authentication basta che fai http://USERNAME:PASSWORD@url/to/script.php e il box non appare
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.