我刚开始使用Spring Integration 2进行Spring Integration。
我正在开发一个使用Spring Integration的HTTP出站网关来使用Spring启动服务的应用程序。
我正在使用Gateway从Spring Integration应用程序中使用Spring启动服务。
当我调用Gateway方法时,该方法将使用出站网关来调用spring引导服务,但请求似乎没有完成。当我通过浏览器发出HTTP GET请求时,它就开始了。
Spring Boot服务也没有收到请求。
使用网关使用Spring Boot 2服务时,我无法识别Integration应用程序中的错误。
我已经分享了我的Spring Boot 2应用程序以及我在以下github文件夹中使用它的Integration应用程序。它包含2个文件夹,一个用于spring Integration应用程序,另一个用于spring启动应用程序。 https://github.com/gsamartian/spring-int-demos
我使用RestController为Integration应用程序公开了一个REST接口。
我通过网址http://localhost:8763/callExternalServiceViaGateway
从集成应用程序访问启动应用程序我可以直接从其端口访问spring boot应用程序。
如果有人能帮我确定原因,那就太好了。
谢谢,
答案 0 :(得分:0)
您的问题是网关方法没有任何参数:
@Gateway(requestChannel = "get.request.channel", replyChannel = "reply.channel")
String getCustomMessage();
在这种情况下,网关用作接收。没有任何请求被发送,因为没有任何内容可以包装到payload
。请参阅Reference Manual中有关此问题的更多信息。
现在我看到有payloadExpression
的几个错误而且没有arg,所以我建议你在String payload
网关方法中添加一些getCustomMessage()
arg并用空字符串执行它。
将会查看错误并尽快修复它们。
感谢您提供了一个如何捕捉和重现的好样本!