I-ASOS Cvičenie 4 – WSDL + Spring

Web Services Description Language (WSDL)

Cieľom cvičenia je oboznámiť sa s WSDL, generovaním SOAP webových služieb a vytvorením jednoduchého endpointu, ktorý bude vracať zoznam kníh v databáze.

  1. Pokračujte v projekte z minulého cvičenia.
  2. V priečinku src/main/resources si vytvorte subor books.wsdl.
  3. Do WSDL súboru si importujte XSD schému z minulého cvičenia.
  4. Vytvorte dva message elementy, jeden pre request (prázdny) a druhý pre response obsahujúci jeden part, ktorý bude obsahovať zoznam kníh.
  5. Následne vytvorte service a port obsluhujúci adresu http://localhost:8080/books
  6. Vygenerujte si potrebné triedy z WSDL. V Inellij IDEA v menu tools > web services > generate java code from wsdl, v nastaveniach vybrať platformu Glassfish. Lepšia možnosť je použiť maven plugin jaxws-maven-plugin.
  7. Implementujte vygenerovaný endpoint a doplňte funkciu na vrátenie zoznamu kníh. Zoznam môžete napevno vytvoriť v konštruktore.

Spring + WSDL

Cieľom cvičenia je prepojiť Spring a vygenerované SOAP endpointy z predchádzajúceho cvičenia.

  1. Pokračujte v projekte z minulého cvičenia.
  2. Pridajte do projektu Spring – do pom.xml doplňte závislosť na projekte org.springframework:spring-context.
  3. Vytvorte a implementujte beanu BookService, ktorá bude obsluhovať „databázu“ kníh (postačí List<Book>):
  4. V main metóde vytvorte inštanciu jednej knihy a jedného autora a uložte ju do zoznamu pomocou metódy save(Book).
  5. V BookEndpoint triede odstráňte zoznam kníh z predchádzajúceho cvičenia a nahraďte ho referenciou na beanu BookService tak aby sa pri volaní endpointu použila metóda findAll().
  6. Pomocou SoapUI otestujte implementáciu, po zavolaní endpointu by ste mali dostať odpoveď podobnú: