[Java lista] Web service + cookie

István Székely istvan.szekely at i-logic.hu
2009. Sze. 2., Sze, 11:22:34 CEST


Hello!

Köszi, működik. Igazából ez van írva az általam olvasott oldalon is. 
Egyedül azt néztem be, hogy a generált kód is Portot ad vissza, csak 
megtévesztő volt a neve, ezért nem is gondoltam, hogy ez a megoldás.

Egy kis adalék a teljesség kedvéért. Mivel egyszerre sok sessiont kell 
kiszolgálnunk, attól féltem, hogy mindegyik sessionhöz úrja le kell 
gyártani a Service-t és a Portot. Ez elég nagy overhead lett volna, 
mivel a Service a létrehozáskor letölti a WSDL-t.

Service got in 1602 ms
Port got in 2496 ms

Szerencsére nem ez a helyzet. A service-t elég egyszer létrehozni, és 
csak a portokból újat csinálni. Az első port létrehozása most is sokáig 
tart, de az összes többi már gyorsan megy. Minden egyes porton kiküldött 
SOAP kérés külön sessiont kap, pont, ahogyan kell.

Service got in 1699 ms
Port got in 2696 ms
Port got in 3 ms
Port got in 2 ms

Üdv,
Stivi

Ujfalusi Sandor wrote:
> Hello!
>
> Valahogy igy kell:
>
> HelloService service = new HelloService();
> HelloPort helloPort = service.getPort();
> BindingProvider bindingProvider = (BindingProvider) helloPort;
> bindingProvider.getRequestContext().put(BindingPorvider.SESSION_MAINTAIN_PROPERTY, 
> true);
>
> Ezutan ezen a helloPort-on hivott metodusok hasznalni fogjak a kapott 
> cookie-t.
>
>
> 2009/9/2 István Székely <istvan.szekely at i-logic.hu 
> <mailto:istvan.szekely at i-logic.hu>>
>
>     Ezt találtam: https://jax-ws.dev.java.net/guide/HTTP_cookies.html
>     Ezzel az a baj, hogy nekünk nincs a HelloPorthoz hasonló osztály,
>     amivel
>     hozzáférhetnénk a RequestContexthez. Az 5.3.2 fejezet meg egy szép
>     nagy
>     TODO.
>


További információk a(z) Javalist levelezőlistáról