Skip to content

SOAP Služby

ondro edited this page Apr 29, 2016 · 8 revisions

Prezentácia: [Intro k SOAP službám](../01 SOAP.odp)

Endpoint

Github pre WS endpoint (server): https://github.com/OndrejM-trainings/SOAPservices-endpoint

Cvičenia

  1. Vytvoriť WS endpoint
  • jedna metóda String hello(String param)
  • vráti "Hello" + param
  1. Vytvoriť / upraviť WS endpoint
  • metódy hello(), goodBye() a getNumberOfGreetings()
  • ukladá počet pozdravov do service
  • getNumberOfGreetings vráti počet pozdravení
  • uchovanie stavu (singleton, v prípade HTTP môže byť session)

Klient

Github pre WS klienta: https://github.com/OndrejM-trainings/SOAPservices-client

JAXWS maven plugin: https://jax-ws-commons.java.net/jaxws-maven-plugin/wsimport-mojo.html

Cvičenia

  1. Vygenerovať klientské proxy k WS
  • pridať maven plugin - wsimport goal (fáza generate-sources)
  • vytvoriť
  1. Vytvoriť / upraviť WS endpoint
  • metódy hello(), goodBye() a getNumberOfGreetings()
  • ukladá počet pozdravov do service
  • getNumberOfGreetings vráti počet pozdravení
  • uchovanie stavu (singleton, v prípade HTTP môže byť session)
  1. Zadanie
  • vytvoriť v endpoint metódu, ktorá vyhadzuje exception
  • deploy na serveri, skontrolovať WSDL
  • skopírovať WSDL do projektu klienta
  • pregenerovať klienta
  • zavolať metódu s odchytením exception
  1. Zapnúť logovanie na serveri a preskúmať SOAP requesty a response
  • porovnať, ako sú mapované Java objekty a metódy
  • upraviť mapovanie tak, aby boli XML správy rozumnejšie

XML Dump

Na strane servera

GlassFish (Metro)

System property: com.sun.xml.ws.transport.http.HttpAdapter.dump=true

WildFly (Apache CXF)

System property: org.apache.cxf.logging.enabled=true

(https://docs.jboss.org/author/display/WFLY8/Advanced+User+Guide)