2011-05-09 17 views
6

quando un'azienda desidera rilasciare servizi Web, rilascia un WSDL separato per SOAP e separato per i servizi Web basati su REST oppure vengono uniti nello stesso WSDL? Un WSDL può rappresentare solo i servizi Web REST basati su JSON (non XML)?WSDL per SOAP e WSDL per REST e REST basato su JSON

I client di servizi Web sono basati su Java.

Se SOAP e REST vengono uniti nello stesso WSDL, wsimport genera classi separate (per il collegamento di oggetti XML a oggetti Java) per SOAP e separati per REST?

risposta

6

È necessario WSDL 2.0 (o WADL) per descrivere il servizio REST. Il supporto per WSDL 2.0 è attualmente molto limitato e wsimport non lo supporta. Non sono uno sviluppatore Java, ma penso che wsimport sia solo per servizi SOAP (JAX-WS e non supporta anche WSDL 2.0).

Edit:

Controllare this extension. Dovrebbe consentire di esporre il servizio JAX-WS con la codifica JSON. Dovrebbe anche esporre "proxy JavaScript" per chiamare il servizio JSON. Per rispondere più precisamente alla tua domanda, non penso che tu possa descrivere il servizio REST senza WSDL 2.0 o WADL. Quindi non è possibile unire il servizio SOAP e REST al singolo WSDL 1.1 supportato dalla maggior parte degli stack. Per ulteriori informazioni sulla descrizione del servizio JSON, verificare this question.

+0

Grazie per l'informazione, ma non risponde alla maggior parte di ciò che sto chiedendo nella mia domanda. – ace

2

Può un WSDL rappresentano solo REST web servizi basati su JSON (non XML)

WSDL 2 in grado di descrivere XML definendo i diversi tipi XML usando uno schema. Vedi this introduction on WSDL 2 for REST.

Sebbene, TBH non abbia mai scritto WSDL per REST prima, pubblico solo gli URL e gli schemi per i tipi.

1

Poiché gli strumenti non sono ancora disponibili, dubito che molti utilizzino i collegamenti SOAP e HTTP in un singolo WSDL. Sebbene entrambi possano essere rappresentati in un WSDL 2.0, e allo stesso tempo, dato che la maggior parte della gente si affida agli strumenti per gestire i propri WSDL oggi (e il resto dello stack WS), probabilmente non si preoccupano di lasciare i loro WSDL da soli.

Inoltre, la maggior parte delle persone REST costruisce i propri client a mano, piuttosto che affidarsi a strumenti e WSDL, quindi a questi non vengono attualmente "mancati" gli strumenti e il supporto per questo.

Quando gli strumenti raggiungono sia il lato server che quello client, è probabile che in pratica per le associazioni dei servizi HTTP in WSDL 2.0 ci sarà più adozione. Resta da vedere se l'idioma sarà quello di unire le specifiche a un singolo WSDL o meno.

Se vogliono ospitarli sugli stessi punti finali, probabilmente lo faranno.

+0

il suo 2017, questa situazione è cambiata? –