[Java lista] glassfish stateful webservice

Balázs Hollósi hollosibalazs at gmail.com
2010. Ápr. 9., P, 16:52:29 CEST


Hali

mas oldalrol megkozelitve a dolgot.. :)

ha beletorodve abba, hogy ez nem egy main felhasznalas, es
gyerekcipoben jar az implementacio (de viszont nekem kell a stateful
ws) meg tudom-e azt csinalni, hogy :
- stateless webserviceket hasznalok (web projektben annotalt pojo-k, szokasos)
- definialok egy session parametert, amit minden statefulnak szant
keresnel elkuld a kliens (akarcsak a "sima" stateful ws-nel)
- injektalok szervlet context-et a pojo-ba

eeees, itt jon amihez meg nem volt szerencsem:

- valahogy (?) megadom, hogy a session az en azonositom alapjan legyen
meghatarozva, mivel itt http szinten nincs session-rol szo. ezzel
elmeletileg nem doftem hatba a session replikaciot meg a tobbi
ficsurt..

ha nagy orultseget irtam, akkor is kivancsi vagyok a konstruktiv
hozzaszolasokra, hogy lehetne ezt a problemat szepen megoldani :)

koszi,
B

On Thu, Apr 8, 2010 at 13:44, Balázs Hollósi <hollosibalazs at gmail.com> wrote:
> sziasztok
>
> gondoltam kiprobalom a stateful webservice tamogatasat a
> glassfish-nek, viszont egy kis problemam akadt.
>
> alap cikk: https://jax-ws.dev.java.net/nonav/2.1/docs/statefulWebservice.html
>
> Viszont a session kiszolgalas mar elszall nullpointerrel. (es ha jol
> latom, ez az egesz com.sun.xml.ws.developer package csak gf2 alatt van
> meg, gf3 nem tamogatja?)
>
> Talaltam egy bejegyzest, ami kisertetiesen ua, de a workaround nalam
> nem segitett.
> https://wsit.dev.java.net/issues/show_bug.cgi?id=309
>
> szinte minden ua, mint a peldaban. probalta mar valaki ezt a vonalat?
> vagy van valami 3rdparty megoldas ra?
>
> koszi,
> B
>
> -----------------
>
> package sandbox;
>
> import javax.jws.WebService;
> import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> @WebService
> public class Bank {
>
>    @WebMethod
>    public W3CEndpointReference login(int id) {
>        BankAccount acc = new BankAccount(id);
>        return BankAccount.manager.export(acc);
>    }
> }
>
> -----------------
>
> package sandbox;
>
> import com.sun.xml.ws.developer.Stateful;
> import com.sun.xml.ws.developer.StatefulWebServiceManager;
> import javax.jws.WebMethod;
> import javax.jws.WebService;
> import javax.xml.ws.soap.Addressing;
>
> @Stateful
> @WebService
> @Addressing
> public class BankAccount {
>
>    private int id;
>    public static StatefulWebServiceManager<BankAccount> manager;
>
>    public BankAccount(int id) {
>        this.id = id;
>    }
>
>    @WebMethod
>    public String kuty() {
>        return "kurutty";
>    }
> }
>
> -----------------
>
> hiba:
>
> (a 21-es sor a "return BankAccount.manager.export(acc);" )
>
> The log message is null.
> java.lang.NullPointerException
>        at sandbox.Bank.login(Bank.java:21)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at com.sun.enterprise.webservice.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:112)
>        at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
>        at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
> [...]
>


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