Ceci est mon SLSB:Qu'est-ce que Jersey n'aime pas dans mon bean Session sans état?
@Stateless(name = "FinderEJB")
@Path("/")
public class Finder implements FinderLocal {
@Path("/simple")
@GET
public String simple() {
return "works";
}
}
L'interface est:
@Local
public interface FinderLocal {
public String simple();
}
C'est ce que je veux dans le journal du serveur Glassfish quand je suis en train d'ouvrir l'URL /simple
:
java.lang.IllegalArgumentException: object is not an instance of declaring class
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.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:156)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:775)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:740)
[...]
De quoi s'agit-il? J'ai réussi à trouver un sujet à ce sujet at nabble.com, mais il n'a pas de solution ..
Bien sûr, mon 'web.xml' est correctement configuré. Sans les annotations SLSB, la classe fonctionne bien et est exposée dans JAX-RS. – yegor256