2015-11-17 15 views
5

Sto lavorando a questo progetto in cui il client supporta solo SOAP WSDL per il consumo di servizi Web in cui supporta il riposo per le chiamate in entrata. Ho bisogno di integrare questo strumento con un altro strumento che è completamente riposante (ha WADL). È possibile per il cliente soap di consumare servizi Web riposanti? Se sì quale strumento suggerirai?Soap Client che consuma servizi Web di riposo

+0

La tua domanda non è completamente chiara per me. Usi le parole "il cliente" per indicare la stessa cosa di "questo strumento" e "cliente sapone"? Se la tua risposta è sì, allora capisco correttamente che questo strumento supporta la chiamata ai servizi web basati su SOAP e la tua domanda è come si può lasciare chiamare servizi web definiti in WADL? Nota che REST è solo uno stile architettonico e che i webservices basati su SOAP possono essere RESTful. –

+0

Sì, è possibile. Usando jax-ws puoi farlo con le API 'Provider' e' Dispatch'. È anche possibile chiamare un servizio REST usando 'HttpURLConnection'. Dopotutto, chiamare un endpoint REST richiede semplicemente una richiesta HTTP a un determinato URL. Ecco alcuni esempi: http://www.java2s.com/Code/Java/Web-Services-SOA/RESTbasedWebServicesutilizzandoHTTPbindingandJAXWSProviderDispatch.htm, http://www.edureka.co/blog/how-to-write-restful- web-services-with-jax-ws /, https://www.subbu.org/blog/2006/08/jax-ws-for-restful-web-services –

risposta

2

SOAP definisce una specifica di protocollo di comunicazione (set di regole) per lo scambio di messaggi basato su XML. SOAP utilizza diversi protocolli di trasporto, come HTTP e SMTP. Il protocollo standard HTTP rende più semplice per il modello SOAP eseguire il tunneling attraverso firewall e proxy senza alcuna modifica al protocollo SOAP.

REST descrive una serie di principi architettonici mediante i quali i dati possono essere trasmessi su un'interfaccia standardizzata (come HTTP). REST non contiene un livello di messaggistica aggiuntivo e si concentra sulle regole di progettazione per la creazione di servizi stateless. Un client può accedere alla risorsa utilizzando l'URI univoco e viene restituita una rappresentazione della risorsa. Con ogni nuova rappresentazione delle risorse, si dice che il client trasferisca lo stato. Durante l'accesso alle risorse RESTful con protocollo HTTP, l'URL della risorsa funge da identificatore della risorsa e GET, PUT, DELETE, POST e HEAD sono le operazioni HTTP standard da eseguire su tale risorsa.

Può essere fatto tramite jQuery.

jQuery campione per l'identificatore di lingua:

$.post('https://services.open.xerox.com/RestOp/LanguageIdentifier/GetLanguageForString', 
{'document' : 'This is a sample'}, function (data) { 
    var res = 'Not found'; 
    if (data != null) { 
    res = data; 
    } 
}); 

Ulteriori approfondimenti: https://spring.io/guides/gs/consuming-rest-jquery/

2

No, non è possibile per un cliente sapone per consumare servizi riposanti. Non c'è interoperabilità tra loro.

Anche se potessi fare questo non dovresti. Utilizzare una libreria di strumenti e solo creare un client di riposo per il servizio di riposo.

Problemi correlati