2017-08-03 65 views
0

Im Spring新的集成,我必須從第三方Web服務獲得在線代理的列表,我試着配置spring集成來獲得它,但對於channel部分,我不確定如何配置它。Spring集成 - 使用replyChannel從第三方服務獲取信息

我原來的配置是下面,我從使用發送請求到第三方Web服務的樣本複製:

public interface WebServiceGateway { 

    @Gateway(requestChannel = "getStatusChannel") 
    public String getStatus(String var);  <------ being forced to send something 
} 

在我的一體化配置,

@Configuration 
public class IntegrationConfiguration { 

    @Bean 
    public MessageChannel getStatusChannel() { 
     return MessageChannels.direct().get(); 
    } 
} 

的問題是,即時消息不發送任何參數的網絡服務,在requestChannel迫使我這樣做,所以我修改了gateway部分:

public interface WebServiceGateway { 

    @Gateway(replyChannel = "getStatusChannel") 
    public String getStatus(); 
} 

這部分保持不變:

@Configuration 
public class IntegrationConfiguration { 

    @Bean 
    public MessageChannel getStatusChannel() { 
     return MessageChannels.direct().get(); 
    } 
} 

這促使我java.lang.IllegalStateException: receive is not supported, because no pollable reply channel has been configured,我爲什麼不能用MessageChannel作爲應答通道?我應該如何配置IntegrationConfiguration

回答