我正在尝试使用spring集成的入站http网关。以下是我的配置。
<int:channel id="requestChannel" />
<int:channel id="responseChannel" />
<int-http:inbound-gateway id="inboundEmployeeSearchRequestGateway"
supported-methods="POST" request-channel="requestChannel"
reply-channel="responseChannel"
mapped-response-headers="Return-Status, Return-Status-Msg, HTTP_RESPONSE_HEADERS"
path="/services/{parama}/{paramb}/search"
reply-timeout="6000000000">
<int-http:header name="parama" expression="#pathVariables.parama" />
<int-http:header name="paramb" expression="#pathVariables.paramb" />
</int-http:inbound-gateway>
<int:service-activator id="activator"
input-channel="requestChannel" output-channel="responseChannel"
ref="execSearch" method="execute" requires-reply="true"
send-timeout="6000000000" />
我的服务激活码如下:
@Service
public class ExecutionService {
@Autowired
private AppDao appDao;
public SQLResponse execute(Message<?> msg) throws Exception {
SQLResponse response = new SQLResponse();
Map<String,String> map = new HashMap<>();
map.put("name","test");
response.setResult(map);
return response;
}
}
但是我的回答变得很糟糕,只有当我使用POST消费服务时才会发生这种情况,而GET功能完全正常。请帮忙
答案 0 :(得分:0)
什么应用服务器?我只是尝试使用Tomcat和Jackson消息转换器将地图转换为JSON,它对我来说并不重要。
您使用的是哪种邮件转换器?
无论如何,分块有什么问题?
答案 1 :(得分:0)
我正在使用tomcat,该应用程序是基于Spring启动的。以下链接帮助我解决了这个问题。 http://forum.spring.io/forum/spring-projects/integration/109102-content-length-in-http-inbound-gateway-reply-channel。但我并不需要提及链接中描述的任何视图解析器。只需将 mapped-response-headers =&#34; Return-Status,Return-Status-Msg,HTTP_RESPONSE_HEADERS&#34; 更改为 mapped-response-headers =&#34;内容-in&#34; 用于入站网关