È necessario avere un file wsdl per la creazione di un webservice in php?

La mia domanda è necessaria per una comprensione di base dei servizi web e più specificamente in combinazione con php

Mi piacerebbe sapere, se è necessario avere un file wsdl per la creazione di un servizio web o è solo qualcosa che è utile a terze parti che vogliono accedere al servizio web? Inoltre, viene generato automaticamente in ambienti .net, ma per php è un po 'più difficile.

Quali sono le mie opzioni?

La cosa che sto cercando è creare un'applicazione jm2ee sul mio cellulare che invii di volta in volta i dati al webservice. Ho letto da qualche parte che devi fornire gli argomenti quando non ci sono file wsdl. Cosa si intende per quello? e / o quali sono le implicazioni su questo?

Grazie in anticipo, Richard

Mi piacerebbe sapere, se è necessario avere un file wsdl per la creazione da un webservice

No, non è necessario (alless non in PHP) : aiuta gli altri a sapere come accedere al tuo webservice (quali methods, oggetti, … dovrebbero essere usati) , ma un WS può essere chiamato anche se non lo fa esportre un WSDL

Per PHP, sì, è un po 'difficile get un WSDL (molte classi non li generano :-() , tuttavia, è ansible generarlo con un altro strumento (ci sono strumenti in Eclipse per scrivere file WSDL, per esempio) .

C'era PEAR::Soap che era in grado di generare WSDL dal codice PHP (ma wherevi scrivere molte righe di codice per farlo bene) – considerando che c'è una class inclusa in PHP 5 per lavorare con SOAP, non lo farei t consiglia di usare questo, comunque.

Per maggiori informazioni, puoi dare un'occhiata a:

  • SoapServer ; in particolare, se si esamina la documentazione di SoapServer::__construct , si noterà che può funzionare sia in modalità WSDL che non WSDL
  • Zend_Soap

Se si sta creando sia il client che il servizio Web, non vi è alcun particolare bisogno di futz con SOAP, WSDL o qualsiasi altro tipo di jazz.

Basta utilizzare le basi del web: il client può utilizzare GET per recuperare informazioni e POST per inviarlo. È ansible formattare i dati in qualsiasi modo, ma JSON e XML sono approcci comuni e ben definiti.

Se desideri ispirazione per il tuo design API, consulta alcuni esempi popolari:

  • API di Twitter
  • Flickr API
  • tutte le API di Google
  • tutte le API di Yahoo

Questo è sufficiente per iniziare, ma se sei curioso della filosofia di progettazione, puoi leggere su Representational State Transfer o REST.

File di documenti WSDL in un formato leggibile dalla macchina (XML) quali sono i methods (e argomenti per i methods) offerti da un servizio web. Non è necessario un file WSDL se si conoscono i methods e gli argomenti, sebbene WSDL sia molto utile per rendere l'interface pubblica del servizio Web più "contrattabile", se lo si desidera.

Per quanto ne so, la libreria PHP non ha funzioni per generare automaticamente un file WSDL per te.

Il supporto del servizio Web è incorporato in php5, il miglior punto di partenza è la documentazione .

Alcune fonti useranno il termine "webservice" come sinonimo di SOAP. Questo è un termine improprio. SOAP è un protocollo particolare: è un modo per creare un servizio web. Ci sono altre tecnologie disponibili. In generale, SOAP è lo standard preferito con Java e .net, ma non va bene al di fuori di questa sfera. Se hai l'opzione, ti suggerisco caldamente di considerare xml-rpc (che è più semplice e ha un supporto diretto migliore su php) o un servizio basato su http (chiamato anche REST basato).