2010-04-22 10 views
5

So che WSDL è per la definizione di servizi Web basati su SOAP ma nella maggior parte dei WSDL che ho visto su rete, nel WSDL è definito anche RESTful "web service" -http :rilegatura.Come generare client RESTful in JAVA per REST definito in WSDL

Per generare il client per il SOAP, ho utilizzato lo strumento wsimport da JAX-WS (genera anche classi client per il REST ma non funziona).

Quindi la domanda è, come generare un client REST basato sul WSDL?

risposta

3

Non ho mai sentito di nessuno che utilizzi WSDL per generare client REST. WADL sì, ma non WSDL.

In ogni caso, la generazione di client per i servizi REST non ha senso. Se pensi di volerlo fare, perdi i benefici di REST e provando a seguire i vincoli REST ti farai fare del lavoro extra per niente.

+0

Avevo anche letto su rete che WSDL non dovrebbe essere per definire REST. Ma in molti (davvero tanti) ho trovato REST descritto. Ad esempio: http://services.aonaware.com/DictService/DictService.asmx?WSDL http://www.webservicex.net/ValidateEmail.asmx?WSDL http://www.webservicex.com/globalweather .asmx? WSDL http://www.webservicex.net/WeatherForecast.asmx?wsdl – Milan

+0

È interessante sapere. Avevo sentito che le versioni recenti di WSDL potevano descrivere l'apis HTTP ma non l'avevo mai vista utilizzata. Personalmente ritengo che i documenti dei metadati come questo siano completamente inutili e potenzialmente dannosi per i sistemi REST. –

+0

Un grande +1 alla risposta di Darrel. Se i client dipendono dalle descrizioni del servizio ottenute in fase di progettazione, il sistema è tutto tranne RESTful. –

1

In realtà è possibile generare automaticamente un SOAP come stub per JAX-RS ma utilizza WADL che credo sia una variante WSDL.

Apache CXF does this e se ciò non funziona, creerà automaticamente anche endpoint SOAP e client SOAP.

0

È possibile utilizzare RestDescribe per generare e compilare WSDL, è possibile generare client in php, ruby, python, java e C# utilizzando questo. Genera codice pulito e c'è un buon cambiamento che devi modificare un po 'dopo la generazione del codice, puoi trovare una buona documentazione e le idee sottostanti dietro lo strumento here.

Ci sono alcuni interessanti e utili WADL tools menzionati su wintermute.

0

IBM Developer network: WSDL2 can describe REST services.

Penso che in programmatori mainstream è santa SOAP guerra (classic) - servizi REST. Nessuno vuole questa guerra, queste convinzioni possono coesistere - vedo che questa è un'opinione non solo da parte mia e di poche persone, ma ha un forte sostegno negli standard.

Problemi correlati