I-ASOS Cvičenie 5 – SOAP Client, XSD Schéma – doplnenie

SOAP Client

Cieľom cvičenia je oboznámiť sa s implementáciou SOAP Java clienta.

  1. Skopírujte si projekt zo štvrtého cvičenia (https://github.com/Interes-Group/java-course-wsdl)
  2. Vybuildujte projekt.
  3. Do main metódy aplikácie doplnte vytvorenie clienta nasledovne:
  4. Spustite projekt zo štvrtého cvičenia.
  5. Spustite aktuálny projekt. Sledujte výpis z konzoly, mali by sa v nej objaviť názvy kníh, ktoré ste vytvorili v projekte zo štvrtého cvičenia.

XSD Schéma – import

Cieľom cvičenia je oboznámiť sa s tagom import a možnosťou spájať rôzne XSD schémy.

  1. Skopírujte si projekt zo štvrtého cvičenia (https://github.com/Interes-Group/java-course-wsdl)
  2. Vytvorte si novú schému papers.xsd (môžete skopírovať books.xsd) a vložte do nej:
  3. Upravte books.wsdl, pridajte webové služby pre papers.xsd (rovnaké ako pre books.xsd)
  4. Skúste vybuildovať aplikáciu. Pri buildovaní by mal jaxws-maven-plugin hodiť chybu ohľadom duplicitných tried Author.
  5. Upravte schémy books.xsd a papers.xsd tak, že objekt author vyjmete do samostatnej schémy author.xsd a pomocou tagu import ju importujete do oboch pôvodných schém. Pri referencovaní elementu author si treba dať pozor na používaný namespace.

XSD Schéma – Dedenie

Cieľom cvičenia je oboznámiť sa s možnosťami dedenia v XSD schémach.

  1. Skopírujte si projekt zo štvrtého cvičenia (https://github.com/Interes-Group/java-course-wsdl)
  2. Upravte XSD schému nasledovne:
    1. obsah zmažte a vytvorte nový element a complex type:
    2. vytvorte nové complex type life_doc, travel_doc, injury_doc
    3. pomocou tagu extension definujte, že complex type life_doc dedí od complext type doc a rozširuje ho o element insured_id typu long
    4. pomocou tagu extension definujte, že complex type travel_doc dedí od complext type life_doc a rozširuje ho o elementy validity a purpose typu string
    5. pomocou tagu extension definujte, že complex type injury_doc dedí od complext type life_doc a rozširuje ho o elementy permanent_value a death_value typu float
  3. Upravte WSDL tak aby pracoval so schémou ktorú ste pred chvíľou upravili. Logiku webových služieb môžete ponechať.
  4. Vybuildujte projekt. Všimnite si aké triedy vám jaxws-maven-plugin vygeneroval. Mali by ste vidieť nasledovné triedy: