我有以下代码:
@Configuration
@EnableConfigurationProperties(ISOGatewayProperties::class)
class ISOGatewayConfig {
@Bean
fun isoGatewayFlow(
isoProps: ISOGatewayProperties,
isoTransformer: ISOTransformer) : IntegrationFlow =
IntegrationFlows
.from(MessageChannels.direct("isoInChannel"))
.log()
.transform(isoTransformer)
.handle(Tcp.outboundGateway(
Tcp.netClient(isoProps.host, isoProps.port)))
.get()
}
此代码正确地将作为对象的请求转换为字节[]以发送到远程服务器
我的问题如下:
由Artem解答 进行自定义协议的正确方法是使用自定义序列化器/反序列化器。
答案 0 :(得分:0)
您只需要在流中的.transform(...)
之后添加一个.handle(Tcp.outboundGateway(...))
。
好吧,您可以对请求和响应使用相同的类,但是我认为在响应的情况下,您需要根据byte[]
创建一个ISO对象,因此您需要将方法名称指定为第二个.transform()
自变量,以使目标转换端点更清楚。