WSDL

2010-04-22 15 views
5

'da tanımlanan REST için RAVA için RESTful istemci nasıl üretilir WSDL'nin SOAP tabanlı web hizmetlerini tanımlamak için olduğunu biliyorum, ancak net olarak gördüğüm WSDL'lerin çoğunda WSDL'de de RESTful "web hizmeti" --http olarak tanımlanır : bağlayıcı.WSDL

SOAP için istemci oluşturmak için JAX-WS'den (aynı zamanda REST için istemci sınıfları oluşturur, ancak çalışmaz) wsimport aracı kullanılır.

Soru şu ki, WSDL'ye dayalı REST istemcisi nasıl oluşturulur?

cevap

3

REST istemcileri oluşturmak için WSDL kullanan herhangi birini hiç duymadım. WADL evet, ama WSDL değil. Her neyse, REST hizmetleri için istemciler oluşturmak mantıklı değildir. Bunu yapmak istediğinizi düşünüyorsanız, REST'in faydalarını kaçırıyorsunuz ve REST kısıtlamalarını takip etmeye çalışmak, hiçbir şey için fazladan iş yapmanıza neden oluyor.

+0

Ayrıca, WSDL'nin REST'i tanımlamak için olması gerekmediğini de net okumuştum. Ama birçok (gerçekten çok) açıklanan REST bulundu. Örneğin: 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

Bunu bilmek ilginç. WSDL'nin son sürümlerinin HTTP apis'i tanımlayabildiğini duymuştum ama hiç görmedim. Hala şahsen, bunun gibi meta veri belgelerinin REST sistemleri için tamamen gereksiz ve potansiyel olarak zararlı olduğunu düşünüyorum. –

+0

Darrel'in cevabı büyük +1. Müşteriler, tasarım zamanında elde edilen hizmet açıklamalarına dayanıyorsa, sisteminiz RESTful bir şeydir. –

1

Aslında JAX-RS için SOAP benzeri bir saplamayı otomatik olarak oluşturabilirsiniz, ancak WSDL varyantı olduğuna inandığım WADL kullanır.

Apache CXF does this ve bu sizin için işe yaramazsa, otomatik olarak SOAP uç noktaları ve SOAP istemcileri de oluşturacaktır.

0

WSDL oluşturmak ve derlemek için RestDescribe'u kullanabilirsiniz, bunları kullanarak php, ruby, python, java ve C# istemcileri oluşturabilirsiniz. Temiz kod oluşturur ve kod oluşturma işleminden sonra biraz değiştirmeniz gereken iyi bir değişiklik vardır, here aracının arkasında iyi belgeler ve altta yatan düşünceler bulabilirsiniz.

Kış mevsiminde belirtilmiş birkaç ilginç ve kullanışlı WADL tools vardır. DİNLENME hizmetler -

0

IBM Developer network: WSDL2 can describe REST services.

ben programcılar içinde ana akım kutsal savaş SABUN (klasik) olduğunu düşünüyorum. Kimse bu savaşı istemiyor, bu kavramlar bir arada var olabilir - bunun sadece benim ve birkaç insandan değil, aynı zamanda standartlarda gelişime destek olduğunu düşünüyorum.