RESTEasy - Ressource-Klasse Registrieren konnte, wenn @Pfad ist Markiert

Ich bin mit RESTEasy 2.0.1.GA auf der Jboss-4.3.0.GA.
Die Schnittstelle, die meine Ressource-Klasse umgesetzt, sieht wie folgt aus:

@Path("/")
public interface CwindRestfulService {
@GET
@Path("accounts/{email}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Account getAccountInfo(@PathParam("email") String email) throws Exception;
}

Wenn ich resteasy.scan=true web.xml es funktioniert gut. Aber sollte es falsch sein, mit spring-Kontext. So nun meine web.xml ist:

<web-app>
    <display-name>Archetype RestEasy Web Application</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/applicationContext.xml</param-value>
    </context-param>    
    <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.cwind.rest.CwindRestfulServiceImpl</param-value>
    </context-param>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

Und ich habe diesen Fehler:

2014-02-20 18:10:23,303 ERROR [org.apache.catalina.core.ContainerBase]   Exception sending context initialized event to listener instance of class org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
java.lang.RuntimeException: Class is not a root resource.  It, or one of its interfaces must be annotated with @Path: com.cwind.rest.CwindRestfulServiceImpl implements: com.cwind.rest.CwindRestfulService

Er vorgeschlagen, dass ich verpasst @Pfad, während tatsächlich wusste ich nicht. Aber wenn ich mir die Anmerkung, um die Ressource-Klasse es funktioniert. Ich gegoogelt und fand eine Lösung in http://pilhuhn.blogspot.com/2011/06/seemingly-common-resteasy-error-and.html. Es muss ein @ApplicationPath annotation. Jetzt ist mein interface ist in einem Dritten lib, so kann ich nicht ändern. Hat jemand einige Vorschläge? Vielen Dank im Voraus.

InformationsquelleAutor Cwind | 2014-02-20

Schreibe einen Kommentar