Brak kursów i dokumentacji SOAP

0

Jest w internecie cos porządnego o SOAPie? Musze wystawic serwisy soapowe, wygenerowac projekt przez wsdl i tak dalej ale w necie nic o tym nie ma, strzępki dokumentacji, ktora nie pomaga ;-; Będę wdzięczny za cokolwiek.

1

Chyba jednak nie umiesz szukać

8

Hint: nie dodawaj "porn" na końcu frazy wyszukiwania - wyjątkowo, w przypadku javy i soap to nie pomaga, a nawet przeszkadza.

7

Prosze: image

1

Hej,
Byłem w podobnej sytuacji niedawno. Na całe szczęście musialem tylko przelotnie coś zrobić w soapie. W przeciwieństwie do reszty śmeiszków z forum zgodzę się, że tutoriali nie ma, a dokumentacja jest na tyle słaba, ze można uznać, że jej nie ma.

Najbardziej pomogło mi to: https://www.dataaccess.com/webservicesserver/numberconversion.wso - przykład requesta, repsonse i wsdla.

Jak zwykle baeldung pomaga:
https://www.baeldung.com/spring-boot-soap-web-service
https://www.baeldung.com/jax-ws

Jeżeli masz pełną dowolność implementacji to skoncentrowałbym się na spring-boot-soap-web-service, bo wystarczy, ze zdefiniujesz xsd (typy wiadomości), a spring już za Ciebie wygenruje pełengo wsdl'a. Z inncyh rzeczy, których nie rozumiałem to jak to się dzieje, że w soapie nie definiujemy endpointów w requescie. Rolę tego z tego, co pamiętam przejmuje namespace requesta, ale mogę zmyślać.

2

Nie dramatyzowałbym, że nie ma tutoriali w internecie. Nie wiem czy lenistwo i chęć podania wszystkiego na tacy w formie pigułki, czy obszerność tematu.

Tutorial: https://www.springboottutorial.com/creating-soap-web-service-with-spring-boot-web-services-starter
Książka: https://books.google.pl/books/about/Java_Web_Services.html?id=wiXOyXdvHO8C

Jeśli chcesz to zrozumieć: książka -> specyfikacje -> kod. Jeśli tylko coś wygenerować, bez zrozumienia jak to działa i zdać się na magię -> tutorial.

Patrząc z lotu ptaka:

XML - język opisu danych, które są łatwe do odczytu przez człowieka (samo opisujące nazwy elementów), jak i maszynę (dobrze zdefiniowana struktura dokumentu)

XML Schema - opisuje (za pomocą XMLa), jakie elementy mogą się pojawiać w dokumencie XML

WSDL - opisuje (w XMLu) funkcjonalność oferowaną przez usługę sieciową

  • typy danych
  • wiadomości
  • typy portów (odpowiednik interfejsów programistycznych - grupowanie wiadomości/operacji; WHAT )
  • bindingi (łączy typ portu z konkretnym protokołem - tu możesz powiązać serwis z SOAP, MQ, XML RPC, itp.; HOW)
  • usługi (definiuje w jaki sposób usługa jest dostępna dla klientów=pod jakim endpointem - WHERE)

SOAP - protokół wymiany wiadomości. O ile WSDL opisuje usługę sieciową, to SOAP pozwala na komunikację z tą usługą.

Istotnym pojęciem jest przestrzeń nazw, która powiązana jest z jakąś schemą, która powołuje do istnienia znaczniki XML oraz nadaje im jakieś znaczenie, np.

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:foobar="http://www.myenterprajz.com/foobar-extension" 
...    

Tu masz 3 przestrzenie nazw wsdl (definiuje porty, wiadomości, service, itd.), soap (definiuje Envelope, Header, Body, ...), foobar (jakiś Twój-szyty-na-miarę schemat).
Różne narzędzia mogą rozumieć te schematy i je obsługiwać (np. generować klienta z wsdla).

Specyfikacje:

(do tego różne rozszerzenia, np. podpis cyfrowy, szyfrowanie)

Od strony serwera możesz używać różnych rozwiązań do wystawienia SOAPowego serwisu: JAX-WS/Apache CXF/JAX-RS ale payload obsługujesz jako SOAPowy itp.
W podlinkowanym tutorialu masz przykład oparty o spring boota.

0
stanley123 napisał(a):

Jest w internecie cos porządnego o SOAPie? Musze wystawic serwisy soapowe, wygenerowac projekt przez wsdl i tak dalej ale w necie nic o tym nie ma, strzępki dokumentacji, ktora nie pomaga ;-; Będę wdzięczny za cokolwiek.

Masz jakiegoś popsutego googla

To miałem na trzeciej pozycji

https://docs.spring.io/spring-ws/site/reference/html/tutorial.html

Było też podejście produkowac WSDL z adnotowanych klas serwisu, jak mi się przypomni dokładnie to co używałem, to wkleję
Szukaj "soap wsdl code first java"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.