当前位置: 首页 > 知识库问答 >
问题:

如何声明outputChannel和处理超文本传输协议响应HttpRequest ExecutingMessageHandler在Spring集成

孙宏扬
2023-03-14

下面是HttpRequestExecutingMessageHandler的配置

@Bean
@ServiceActivator(inputChannel = "httpRequestChannel")
    public HttpRequestExecutingMessageHandler httpRequestExecutingMessageHandler() {
    HttpRequestExecutingMessageHandler handler = new HttpRequestExecutingMessageHandler(serviceUrl);
    handler.setCharset(StandardCharsets.UTF_8.displayName());
    handler.setOutputChannel(httpResponseChannel());
    handler.setExpectedResponseType(String.class);

    return handler;
}

我应该如何配置httpResponseChannel来处理httpResponse。如果http状态代码为201,我想将源文件移到成功文件夹,或者移到错误文件夹。

我将spring integration 5与spring boot结合使用。

共有1个答案

相化
2023-03-14

这不是httpResponseChannel的责任。您需要考虑为此HttpRequestExecutingMessageHandler添加一个表达式EvaluationRequestHandlerAdvice:https://docs.spring.io/spring-integration/docs/5.0.6.RELEASE/reference/html/messaging-endpoints-chapter.html#expression-建议

在那里,你可以决定成败。

ServiceActivator在这个问题上有这个选项:

/**
 * Specify a "chain" of {@code Advice} beans that will "wrap" the message handler.
 * Only the handler is advised, not the downstream flow.
 * @return the advice chain.
 */
String[] adviceChain() default { };
 类似资料:
  • 我只是有一个关于服务中http请求的结构和处理响应的问题。我正在使用Angular2。alpha46 Typescript(刚刚开始测试-我喜欢它…Ps…。感谢所有一直致力于它并通过github作出贡献的人) 因此,采取以下措施: 登录表单。组成部分ts 从这个组件中,我导入了我的userService,它将容纳我的超文本传输协议请求,以登录用户。 使用者服务ts 我想做的是能够处理http请求之

  • 我正在使用下面的代码登录apiendpoint并从中检索数据,但响应似乎已编码,我无法读取内容。我正在使用request-requestes-0.0.1 当我在控制台上打印相同的响应 有人能告诉我如何解码和读取响应中的数据吗

  • 我的LogCat: 签名密钥(sw)为https://api.dropbox.com/1/shares/dropbox/a.jpg?oauth_consumer_key=2f2y1dyuqhp58ek 我对http没有太多经验。。 因为httpPost=新的httpPost(sw);工作正常,这是否意味着基本字符串签名正确? 还是我错过了什么?

  • 有多台服务器正在监听actiemq。链被配置为进行超文本传输协议[出站网关]调用。假设其中一台服务器接收消息,如果超文本传输协议调用因某种原因失败,则介于两者之间。消息应该放回队列,以便另一台服务器可以接收消息并进行处理。这可以使用Spring集成来实现吗?我在Transaction上读了很多,但是找不到可行的方法。

  • 我有这个问题: 我需要从服务器下载一个zip文件,这个zip包含。xod和。巴布亚新几内亚。我正在使用AngularJS,JavaSpring,来克服跨域问题,我的htt。获取java spring控制器的角度调用,它将进行真正的get调用。我必须下载zip- 这是我的角度代码: 这是java spring代码: 这是控制台。日志: Object{data:"UEsDBBQACAAIAA5Ipkg

  • 我想知道你对这个概念的看法/意见。如果有替代方案?这是否可行/有益? 据我所知,对于每个http请求,服务器都会执行一些操作并返回http响应。 现在考虑任何场景,我们希望对服务器上运行的进程有更多的控制。 情景1:http请求发送- 在这里,资源被浪费了。 情况2:http请求发送- 在这里,客户端不知道服务器中运行的进程的状态。客户端必须等待,直到它获得超文本传输协议响应。 我的想法是:在初始