问题标签 [spring-integration-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
398 浏览

spring - 关于 HEADERS 的 Spring Integration HttpRequestExecutingMessageHandler 问题

检查标头 HttpRequestExecutingMessageHandler 我注意到一个常见的标头,accept-encoding,gzip,它在转换阶段在响应中引发异常,即无法转换消息,在响应中引发错误。这是我与使用的不延迟 HttpClient 相关的猜测。

默认情况下是否有任何理由将此标头放在 RestTemplate 上?使用标头过滤器删除标头,Rest 请求正常运行。

我也尝试使用 RestTemplate - 但标题仍然存在,所以只有标题过滤器起作用。

但是在内部测试(使用 HTTP Rest 连接不同的集成实例)时,事情正常,即标题消息被正常处理(我不知道原因,因为出站 RestServers 发生了问题。

流程示例如下。

问候,

**

**

0 投票
1 回答
1532 浏览

spring-integration - 具有动态 URL、HTTP 方法和不同响应类型的 Spring Integration 出站网关方式

我对 Spring Integration 有一点了解,到目前为止我已经使用了 JMS 和 File 出站适配器,现在我想介绍用于 Spring REST 支持的 HTTP 出站适配器。到目前为止一切顺利,我能够调用外部 REST api,但存在以下任何问题。

Spring 集成配置

出站网关调用

但是我想开发一个框架,开发人员可以使用任何方法调用任何 REST url 并期望不同类型的响应类型。我找到了一种通过引入如下动态设置 URL 的方法

然后我尝试使用上述方法实现具有动态响应类型的动态 HTTP 方法,但它不起作用,看起来我们只能使用<int-http:uri-variable/>.

什么是理想的解决方案。感谢你的帮助

谢谢,凯思

编辑

在遵循以下评论之后,我能够实现一个框架,开发人员可以在其中根据有效负载内容调用使用动态 URL。下面是我对 HTTP 出站适配器的配置。

但是我仍在寻找一种将动态请求正文作为 POST 参数传递的方法。由于我们使用有效负载来携带 URL、http 方法和预期的响应类型,我无法传递请求正文。

0 投票
1 回答
408 浏览

java - Spring Integration 在事务中向 Executor 发送消息

我有大量来自 CSV 文件的消息,然后被发送到速率受限的 API。我正在使用由数据库通道消息存储支持的队列通道来使消息在处理时持久。我想尽可能接近速率限制,所以我需要跨多个线程向 API 发送消息。

在我的脑海中它应该如何工作的是读取数据库,查看可用的消息,然后将每条消息委托给要在事务中处理的线程之一。

但我无法做到这一点,我必须做的是有一个事务轮询器,它有一个由 N 个线程组成的线程池,固定速率为 5 秒,每次轮询的最大消息数为 10(一些超过 5 秒内可以处理的时间)......这工作正常,但是当等待的消息不多时会出现问题(即,如果有 10 条消息,它们将由单个线程处理)这不会是实践中的一个问题,因为我们将有 1000 条消息。但它在概念上似乎比我认为它应该如何工作更复杂。

我可能没有很好地解释这一点,但是当消息快速传入但传出较慢时,这似乎是一个常见问题?

0 投票
1 回答
1183 浏览

spring-integration - 用于同步 REST 调用的 Spring Integration Outbound Gate 方式

以前我能够使用 Spring Integration 开发一个小框架,开发人员可以在其中指定 URL、HTTP 方法和请求正文并调用任何外部 REST API。

这是我的 Spring Integration 的配置

然后开发人员可以使用上述基础设施调用外部 REST API 调用,如下所示

在这里,我想通过这个集成基础设施使所有 REST 调用同步。但是,我使用 QUEUE 通道作为 http:outbound-gateway 的回复通道。因此,据我了解,错误的发件人可能会收到回复,因为任何人都可以将消息汇集到频道中。

我们如何确保正确的发件人总是会收到正确的响应?

谢谢,凯思

0 投票
1 回答
163 浏览

spring - 如何在spring集成中为HttpRequestExecutingMessageHandler声明outputChannel并处理http响应

下面是 HttpRequestExecutingMessageHandler 的配置

我应该如何配置 httpResponseChannel 来处理 httpResponse。如果http状态代码为201,我想将原始文件移动到成功文件夹或错误文件夹以供休息。

我将 spring integration 5 与 spring boot 一起使用。

0 投票
1 回答
630 浏览

java - Spring Integration Java DSL HTTP在超时错误内没有收到回复

我正在使用 Spring 集成 5.0.6。我已经完成了它的文档并创建了以下代码,该代码在 HTTP 端点上侦听并发布到 kafka 主题。

一切正常,我也在主题上收到消息。但是在 HTTP 客户端没有发送回复,它给出“在超时内没有收到回复”。

如何在以下代码中向 http 调用者发送回复:

谢谢你的帮助。

0 投票
1 回答
1242 浏览

spring-integration - Spring 集成 DSL Scatter-Gather 多个接收者流的异步/并行执行

我们正在尝试使用 scatter-gather 对不同的收件人进行并行调用,它工作正常。但是除非第一个收件人完成(在 Zipkin 中跟踪),否则第二个收件人流程不会开始。有没有办法让所有接收者异步..非常类似于带有执行器通道的拆分聚合。

flow2(),flow3(),flow4() 方法是具有InterationFlow作为返回类型的方法。

示例代码flow2()

0 投票
1 回答
689 浏览

spring-integration - Spring Integration dsl - HTTP 入站网关使用 multipart/form-data

我想通过 http inboud 网关使用 multipart/form-data。第一部分是 json 对象,我想按内容类型将其序列化为对象:application/json。第二部分是pdf文件。是否可以简单地序列化?我需要我的自定义消息转换器吗?

原始请求:

HTTP 入站网关

编辑:

我已经在 spring boot 2.0.3.RELEASE 上试过了。似乎它不适用于org.springframework.web.multipart.commons.CommonsMultipartResolver. 在有效负载中,我总是看到空的 LinkedMultiValueMap。但我注意到它在默认配置下正常工作org.springframework.web.multipart.support.StandardServletMultipartResolver。CommonsMultipartResolver 和 StandardServletMultipartResolver 有什么区别?

依赖关系

0 投票
1 回答
4247 浏览

spring - Spring MVC 测试 - 需要多部分 POST json originalFilename

我将 spring-boot 2.0.3.RELEASE 与 junit5 一起使用。我刚刚尝试使用 mockMvc 测试多部分请求。

但它不适用于部分元数据(json)。

我总是遇到异常

怎么了?

编辑:

我的实现是在 spring 集成 dsl 中。我认为该异常是在org.springframework.integration.http.multipart.UploadedMultipartFile. 如何使用 mockMvc 测试多部分请求?

我的演示项目在 github https://github.com/bulalak/demo-spring-integration-http

0 投票
1 回答
220 浏览

spring-integration - 如何为spring集成xml代码编写单元测试

我是 Spring 集成的新手,我想为我的应用程序编写单元测试用例。我正在开发一个应用程序,其中集成接口将由其他系统使用 XML 输入调用,我们使用 XSLT 转换输入 XML,并将调用不同的系统并将响应发送给调用者。