2014-02-26 22 views
0

我試圖創建轉發通過REST服務調用到標準輸出接收到的任何有效載荷彈簧集成Web應用程序(可以通過另一個支撐端點以後替換)。Spring集成休息服務引發404錯誤

當我嘗試訪問的Web服務器的URL後發佈到WebLogic

http://localhost:7001/ws_inboundBlobDispatcher/rest/services/inboundBlobDispatch/110/publish 

我收到一個404錯誤。我不知道這是爲什麼,或者是否正在創建其他端點。

了我整個春天配置低於:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/integration 
     http://www.springframework.org/schema/integration/spring-integration.xsd 
     http://www.springframework.org/schema/integration/http 
     http://www.springframework.org/schema/integration/http/spring-integration-http.xsd 
     http://www.springframework.org/schema/integration/stream 
     http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd" 
    xmlns:int="http://www.springframework.org/schema/integration" 
    xmlns:int-http="http://www.springframework.org/schema/integration/http" 
    xmlns:stream="http://www.springframework.org/schema/integration/stream"> 

    <int:annotation-config/> 

    <!-- Inbound/Outbound Channels --> 
    <int:channel id="inboundBlobMessages" /> 
    <int:channel id="inboundBlobResponse" /> 

    <int-http:inbound-gateway id="inboundEmployeeSearchRequestGateway" 
     supported-methods="GET, POST" 
     request-channel="inboundBlobMessages" 
     reply-channel="inboundBlobResponse" 
     mapped-response-headers="Return-Status, Return-Status-Msg, HTTP_RESPONSE_HEADERS" 
     path="/rest/services/inboundBlobDispatch/{uniqueKey}/publish" 
     reply-timeout="50000" 
     /> 

    <stream:stdout-channel-adapter channel="inboundBlobMessages" append-newline="true"/> 

</beans> 

下面是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <display-name>YourSimpleWebAppNameHere</display-name> 

    <servlet> 
     <servlet-name>rest</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

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

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

    <session-config> 
     <session-timeout>60</session-timeout> 
    </session-config> 

</web-app> 

休息-servlet.xml中看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 


</beans> 

回答

2

我相信您<int-http:inbound-gateway/>必須在servlet上下文(和你是空的,對吧?)。你也有一個重複/rest路徑前綴(如果你把它定義爲servlet,你不需要它在端點請求映射)。