Dobrý den
Narazil jsem na jeden problém, týkající se webové služby, konkrétně
klientské strany a standardních tříd Javy.
Na straně serveru webové služby používám spring.

Jde o to, že když v JDK8 vygeneruji pomocí wsimport klientskou část, funguje
vše jak má.

Když ale přidám na klientovi handler SOAPHandler<SOAPMessageContext> , tak
stačí, abych v metodě

public boolean handleMessage(SOAPMessageContext context)

zavolal context.getMessage(); - tj. pouze getter, nic víc a volání webové
služby končí s chybou na serveru.

To je způsobeno tím, že zavolání context.getMessage(); způsobí to, že do
SOAP dat se vloží atribut xmlns="" a s tím má pak server problém.

Přijde mi, že u tak základní funkcionality ve standardních třídách Javy není
možné, aby jen zavolání getteru způsobilo takovouto změnu dat a následující
chybu na serveru.

Jen na okraj - handler bych chtěl použít pouze pro čtení zprávy (chci zprávy
vždy ukládat do DB a podle potřeb volat WS buď okamžitě po uložení, nebo
později, případně volání opakovat, pokud dojde k nějaké chybě).

Je možné, že už jste se někdo s podobným problémem setkal.

Předem děkuji za případné tipy! (Už jsem samozřejmě googlil.)
M.Paulfranc

Odpovedet emailem