2014-02-13 8 views
6

in Apache Zwinkern registriert wird Ich habe ein Maven-Projekt mit den Abhängigkeiten unten aufgeführt:REST-Dienst nicht mit Feder und Maven

enter image description here

wink.version = 1.1.3-Inkubations- und spring.version = 3,0 .5.RELEASE

Anwendungskontext im Frühjahr umfasst:

<bean class="org.apache.wink.spring.Registrar"> 
    <property name="classes"> 
     <set value-type="java.lang.Class"> 
     </set> 
    </property> 
    <property name="instances"> 
     <set> 
      <ref local="restexample" /> 
     </set> 
    </property> 
    </bean> 
    <bean id="restexample" class="com.example.rest.ExampleRest"></bean> 

web.xml enthält:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     classpath:META-INF/wink/wink-core-context.xml 
     classpath:applicationContext.xml 
    </param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<servlet> 
    <servlet-name>restServlet</servlet-name> 
    <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>restServlet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

Ruhe Java Klasse umfasst:

@Path("/ex") 
public class ExampleRest { 

    @GET 
    @Produces(MediaType.APPLICATION_JSON) 
    public String example() throws IOException { 
     return "{ 'id':'test' }"; 
    } 
} 

in den Protokollen der Suche Ich sehe keine Ausnahme oder ein Problem, die Bohne ‚restexample‘ erstellt wird, aber ... ich ein wenn ich versuche, den REST-Service anzurufen.

Ich denke ExampleRest wird nicht von Apache Wink registriert.

Irgendeine Idee?

AKTUALISIERUNG 02/14: Loking in den Protokollen, ich habe festgestellt, dass ExampleRest nicht von Apache Wink registriert wird. Vielleicht liegt das Problem in der Bean-Deklaration oder vielleicht in den Abhängigkeiten, die ich verwende. Ich habe auch ein anderes Projekt ohne Feder eingerichtet und es funktioniert dort. Ich brauche wirklich Spring, um seinen IoD für Daos und Services zu nutzen.

Antwort

2

In Ihrer web.xml zeigen Sie auf eine Datei namens wink-core-context.xml. Der Pfad zu dieser Datei scheint falsch zu sein. Es sollte sein:

META-INF/server/wink-Core-context.xml

See source

nicht sicher, warum Sie die FileNotFoundException nicht hier sehen.

+0

nur eine ähnliche Antwort hier gefunden: http://stackoverflow.com/questions/9182329/beans-injected-into-apache-wink-with-spring-arent-registered – rochb

+0

danke rochb! Es klappt! –