J2EE webservice..

szerintetek ezt hogy lehetne normalisan megcsinalni?


@WebService
@Stateless
public class X {
    @Resource
    WebServiceContext wsc;
    
    @WebMethod
    public String teszt()
    {
        MessageContext context = wsc.getMessageContext();
        javax.servlet.http.HttpServletRequest req = (javax.servlet.http.HttpServletRequest)context.get(context.SERVLET_REQUEST);
            
        return req.getRemoteAddr();
    }
}

nagyon zavar engem az az object atcastolas.. es a forditot is :)

Note: C:\Documents and Settings\Z\My Documents\NetBeansProjects\X\src\java\X\X.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Hozzászólások

Hiba: @SuppressWarnings("unchecked") annotation a metódusra vagy a context.get() hívás elé.
Castolás: ez van, ez egy ilyen interface. A visszaadott object típusa dokumentálva van.

Ja ez ilyen. Az ilyen contexteknek pont az a lényege, hogy bármilyen objectet bele tudsz rakni. Fogadjunk egyébként, hogy nem EJB2-vel kezdtél, de a java-t is csak JDK5 (generics) után! :) Látnád, hogy néz ki a fenti kód dependency injection meg annotáció nélkül, a casting lenne a legkevesebb bajod. :)

Ha le akarod ténylegesen kezelni, instanceof-al megnézed hogy HttpServletRequest.class -e vagy nem, de ezzel nem sokra mész mert úgyis mindig az lesz, ha meg olyan appszerverre rakod ami más WS implementációt használ akkor idáig el se jutsz mert a wsc null lesz.

koszonom a valaszokat, a @SuppressWarnings lesz a nyero ez esetben. :)

a kovetkezo kerdes, hogy JPQL -es queryk eredmenyet lehet valahogy type-safen kezelni? mint pl LINQ -el a dolgokat .NET alatt... :)

mit lehet azzal kezdeni, hogy a Querynek a getResultList() -je sima List-et ad vissza, nekem meg List kene?
@SuppressWarnings? ;))