2014-02-13 2 views
6

У меня есть проект Maven с зависимостями, перечисленных ниже:REST сервис не зарегистрирован в Apache подмигнув с Spring и Maven

enter image description here

wink.version = 1.1.3-инкубирования и spring.version = 3.0 .5.RELEASE

Контекст Применение в Spring включает в себя:

<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 включает в себя:

<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> 

Rest Java Class включает в себя:

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

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

Глядя на журналы, я не вижу каких-либо исключений или проблему, боб 'restexample' она создается, но ... Я получаю , когда я пытаюсь позвонить в службу REST.

Я думаю ПримерRest не регистрируется Apache Wink.

Любая идея?

ОБНОВЛЕНИЕ 02/14: удовольствием на бревнах, я заметил, что ExampleRest не регистрируется с помощью Apache Wink. Возможно, проблема заключается в объявлении beans или, возможно, в зависимостях, которые я использую. Я также создаю еще один проект без весны, и он работает там. Мне действительно нужна Spring, чтобы использовать его IoD для daos и сервисов.

ответ

2

в вашем web.xml, вы указываете на файл с именем wink-core-context.xml. Путь к этому файлу кажется неправильным. Оно должно быть:

META-INF/сервер/подмигивание-ядро-context.xml

See source

Не знаю, почему вы не видите FileNotFoundException здесь.

+0

только что нашел аналогичный ответ здесь: http://stackoverflow.com/questions/9182329/beans-injected-into-apache-wink-with-spring-arent-registered – rochb

+0

спасибо rochb! Оно работает! –

 Смежные вопросы

  • Нет связанных вопросов^_^