Integracja SOAP a REST

Odpowiedz Nowy wątek
2015-08-01 22:40
Patryk_87
0

Wiekszosc naszych klientow korzysta z Resta, integracja naszego projektu polegala na napisaniu kodu, ktory dostarcza odpowiednie parametry do ich API i wykorzystuje wyniki zwrocone przez ich metody restowe.

Nasz kolejny klient uzywa SOAP'a. Czy tu sprawa z uzyciem takiego api u nas moze sie skomplikowac, czy tez sprowadzi sie do obsluzenia metod udostepnianych przez klienta ?

Pozostało 580 znaków

2015-08-01 22:45
0

hmm.. trochę dziwne pytanie, bo przecież nie wiemy jak bardzo "zależni" jesteście od konkretnego protokołu.
Bierzesz wsdl'a, generujesz z niego i .... wywołujesz metodę od cała filozofia, co niby ma się skomplikować ?


"Perhaps surprisingly, concurrent programming isn’t so much about threads or
locks, any more than civil engineering is about rivets and I-beams."

Pozostało 580 znaków

2015-08-01 22:48
0

wsimport na WSDL, generujesz klienta i używasz. Praca z SOAP to bułka z masłem. Pomijając kwestie wydajnościowe i overhead na ciężki XML, który w wewnętrznych projektach często i tak nie ma znaczenia, jest to dość przyjemny protokół, szczególnie jeśli chodzi o generowanie klientów.

gorzej jak masz jakiegoś kretyna po drugiej stronie który co chwila coś zmienia. - niezdecydowany 2015-08-01 23:02

Pozostało 580 znaków

2015-08-01 23:20
Patryk_87
0

Po prostu nigdy nie pracowalem z SOAP'em :P

Podsumowaujac, biore wsimport wygeneruje kod (api naszego klienta), dociagne do mojego projektu. Od tego momentu praca już bedzie wygladac jak z moim ulubionym restem ?

Pozostało 580 znaków

2015-08-01 23:44
0

Praca z RESTem wygląda różnie. Czasem używa się JAX-RS Client API, czasem Apache HttpClient.

Generalnie ja robiłem tak z SOAP, że budowałem sobie service, który korzystał klasy z wygenerowanego kodu za pomocą wsimport (taki wrapper). A service używałem tak jak zawsze, za pomocą DI. Podobne trochę do obsługi bazy danych, tyle że zamiast bazy danych był ws.

Jeśli chodzi o klasy wsimport to są one budowane przy każdym budowaniu projektu (maven). Jest to o tyle fajne, że jeśli WSDL się zmieni (np. zostanie dodana nowa metoda), to wystarczy go zaktualizować, a maven zbuduje odpowiednie klasy odpowiedzialne za komunikację.

Według mojego subkietywnego odczucia praca z WSDL jest szybsza niż praca z REST (JAX-RS 2.0 Client API) w przypadku komunikacji Java - Java.

Pozostało 580 znaków

2015-08-01 23:51
Patryk_87
0

"Jeśli chodzi o klasy wsimport to są one budowane przy każdym budowaniu projektu (maven). Jest to o tyle fajne, że jeśli WSDL się zmieni (np. zostanie dodana nowa metoda), to wystarczy go zaktualizować, a maven zbuduje odpowiednie klasy odpowiedzialne za komunikację."

Jak to zrobic ? Ja zakladalem, ze wygeneruje sobie klasy API za pomoca wsimport i dociagne je do kodu projektu i bede uzywal.

Jak to zrobic, by automatycznei je generoac przy budowaniu i wrzucac w odpowiednio miejsce ?

Pozostało 580 znaków

2015-08-01 23:53
0

Dopisać sobie jakiś task(tak przynajmniej było u mnie) - antowy task, i przekopiowywanie wygenerowanego kodu gdzie trzeba.

Jakim cudem zostałeś programistą zadając takie pytania ? bo coś mi tu śmierdzi...


"Perhaps surprisingly, concurrent programming isn’t so much about threads or
locks, any more than civil engineering is about rivets and I-beams."
edytowany 1x, ostatnio: niezdecydowany, 2015-08-01 23:54

Pozostało 580 znaków

2015-08-02 00:02
Patryk_87
0

"Jakim cudem zostałeś programistą zadając takie pytania ? bo coś mi tu śmierdzi... "

I to zarabiam 15k. Po prostu jestem leniwy, a czasem warto zapytac :P

noo, w agrobiznes jak zagrasz. - niezdecydowany 2015-08-02 00:12

Pozostało 580 znaków

2015-08-02 00:05
0

Jest do tego plugin do Mavena. Jeśli korzystasz z NetBeans to IDE pomogą w konfiguracji wsimport (polecam). Ja WSDL trzymam w katalogu z projektem (np. src/main/resources/wsdl).

edytowany 1x, ostatnio: margor90, 2015-08-02 00:07

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0