你能帮我做弹簧集成吗?
我有使用 http 将发布请求发送到其他系统的集成流程。
发送后能否得到原始消息,因为我想对成功和错误进行其他操作。
ErrorHandler 只有 HttpClientResponse,但响应正文为空,我需要 originalMessage 来处理这种情况。
与成功响应相同的情况。我没有原始消息信息来进行下一步操作。
@Configuration
public class IntegrationConfiguration {
@Bean
public IntegrationFlow incChannel(HeaderEnricher enrichHeaders,
HttpRequestExecutingMessageHandler notifyOnArrival) {
return IntegrationFlows
.from("send_notify_to")
.transform(enrichHeaders)
.handle(notifyOnArrival)
.channel("save_success_status_original")
.get();
}
@Bean
public HeaderEnricher enrichHeaders() {
Map<String, ? extends HeaderValueMessageProcessor<?>> headersToAdd =
Collections.singletonMap("Content-Type", new StaticHeaderValueMessageProcessor<>(APPLICATION_JSON_VALUE));
HeaderEnricher enricher = new HeaderEnricher(headersToAdd);
return enricher;
}
@Bean
HttpRequestExecutingMessageHandler notifyOnArrival(@Value("${uri}") String uri,
MappingJackson2HttpMessageConverter messageConverter) {
HttpRequestExecutingMessageHandler handler =
new HttpRequestExecutingMessageHandler(uri + "/api/notify");
handler.setHttpMethod(HttpMethod.POST);
handler.setExpectReply(false);
handler.setMessageConverters(Arrays.asList(messageConverter));
return handler;
}
}