Skip to content

Testable JAX-WS Webservice using CXF

Description

  • Framework: CXF

  • Front end: JAX-WS

  • Protocol (WSDL) binding: Soap 1.2

  • Data binding: JaxB or XPath

    • XPATH rett på XML payloaden gir løsere kobling enn JaxB
    • en annen fordel med å splitte endepunkt og payload på denne måten er at samme test/klient plutselig støtter flere transportmekanismer, og man kan teste klientene lokalt
    • det kan virke som det ikke oppleves som naturlig å skille for prosjekter som bruker jaxb, siden payloaden blir generert på den ene siden og auto-mappet på den andre siden, som gjør at folk driter i hvordan payloaden faktisk ser ut
    • mindre fingerfeil med xpath enn med jaxb, skjemaer, jaxb, soap og navnerom skaper trøbbel for de fleste ferske
    • Why StAX? - StAX gir først mening på monstermeldinger og det å plukke ut payloaden i en String/stream som xpath parser er jo ikke heavy
  • Versioning

    • med xpath så komemr det ann på.... som konsument så kommer det ann på hvordan du skriver uttrykkene.... i.e. ren duck typing vil fungere helt til parametrene endrer navn/semantikk
    • evt. så kan du skrive uttrykk mhhp versjonstagger i dokumnetet

Tests

Test integration between client and endpoint
  • Out-of-process using separate Jetty server
Test payload parsing
  • In-process
    • JaxB: a single test, since the interpretation is static
    • XPath: one test per client as each client can choose to use a different set of elements from the payload.