2015-11-17 19 views
5

Pracuję nad tym projektem, w którym klient obsługuje tylko protokół SOAP WSDL do korzystania z usług WWW, ponieważ obsługuje on odpoczynek dla połączeń przychodzących. Muszę zintegrować to narzędzie z innym narzędziem, które jest całkowicie spokojne (ma WADL). Czy klient mydła może spożywać spokojne usługi sieciowe? Jeśli tak, które narzędzie zasugerujesz?Usługi Web Service zużywające aplikacje zużywające mydło

+0

Twoje pytanie nie jest dla mnie całkowicie jasne. Czy używasz słów "klient", by znaczyć to samo, co "to narzędzie" i "klient mydła"? Jeśli twoja odpowiedź brzmi "tak", to czy rozumiem poprawnie, że to narzędzie obsługuje wywoływanie usług internetowych opartych na SOAP, a twoje pytanie brzmi: w jaki sposób możesz zezwolić na wywoływanie usług internetowych zdefiniowanych w WADL? Należy zauważyć, że REST jest po prostu stylem architektonicznym i że usługi SOAP oparte na sieci mogą być również RESTful. –

+0

Tak, możesz. Używając jax-ws możesz to zrobić za pomocą API 'Provider' i' Dispatch'. Możesz nawet wywołać usługę REST za pomocą 'HttpURLConnection'. W końcu wywoływanie punktu końcowego REST polega na wysyłaniu żądania HTTP do określonego adresu URL. Oto kilka przykładów: http://www.java2s.com/Code/Java/Web-Services-SOA/RESTbasedWebServicesusingHTTPbindingandJAXWSProviderDispatch.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 –

Odpowiedz

2

SOAP definiuje standardową specyfikację protokołu komunikacyjnego (zestaw reguł) dla wymiany wiadomości opartej na XML. SOAP używa różnych protokołów transportowych, takich jak HTTP i SMTP. Standardowy protokół HTTP ułatwia modelowi SOAP tunelowanie w zaporach sieciowych i serwerach proxy bez żadnych modyfikacji protokołu SOAP.

REST opisuje zestaw zasad architektonicznych, według których dane mogą być przesyłane za pomocą standardowego interfejsu (np. HTTP). REST nie zawiera dodatkowej warstwy wiadomości i koncentruje się na regułach projektowania dla tworzenia usług bezpaństwowych. Klient może uzyskać dostęp do zasobu przy użyciu unikalnego identyfikatora URI i zwracana jest reprezentacja zasobu. Przy każdej nowej reprezentacji zasobów klient ma przekazywać stan. Podczas uzyskiwania dostępu do zasobów RESTful za pomocą protokołu HTTP adres URL zasobu służy jako identyfikator zasobu, a GET, PUT, DELETE, POST i HEAD są standardowymi operacjami HTTP, które należy wykonać dla tego zasobu.

Można to zrobić za pomocą jQuery.

jQuery przykładowy identyfikator języka:

$.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; 
    } 
}); 

Dalsze czytanie: https://spring.io/guides/gs/consuming-rest-jquery/

2

Nie, to nie jest możliwe, aby klient mydło spożywać usługi spokojny. Nie ma między nimi żadnej interoperacyjności.

Nawet gdybyś mógł to zrobić, nie powinieneś. Użyj biblioteki narzędzi i po prostu utwórz klienta odpoczynku dla swojej usługi odpoczynku.