Spring integration SpelEvaluationException:EL1004E:(位置8):方法调用:找不到方法转换(字节[])

Spring integration SpelEvaluationException:EL1004E:(位置8):方法调用:找不到方法转换(字节[]),spring-integration,Spring Integration,我正在尝试创建一个简单的spring集成应用程序,它接收http数据并将它们转发到两个队列。 在其中一个队列中(暂时忽略另一个队列),我希望丰富数据,然后将它们转发给AMQP 终点 我的问题是以下例外: MessagingTemplate$TemporaryReplyChannel:已收到回复消息,但 由于发送时出现异常,接收线程已退出 请求消息:ErrorMessage [payload=org.springframework.messaging.MessageHandlingExceptio

我正在尝试创建一个简单的spring集成应用程序,它接收http数据并将它们转发到两个队列。 在其中一个队列中(暂时忽略另一个队列),我希望丰富数据,然后将它们转发给AMQP 终点

我的问题是以下例外:

MessagingTemplate$TemporaryReplyChannel:已收到回复消息,但 由于发送时出现异常,接收线程已退出 请求消息:ErrorMessage [payload=org.springframework.messaging.MessageHandlingException: 嵌套异常是 org.springframework.expression.spel.SpelEvaluationException: EL1004E:(位置8):方法调用:方法转换(字节[])不能为空 在com.EnrichmentService type上找到

我非常确定,摄取的数据是以某种方式序列化的 我的扩展服务,即用于DTO(我的示例中的数据)的扩展服务,无法理解。 我尝试在DTO上实现Serializable

我的问题是,如何调试流经通道的类型

我的代码如下所示:

@Bean
public StandardIntegrationFlow ingestRaw() {

    return IntegrationFlows.from(httpIngest())
            .headerFilter("accept-charset", "http_requestMethod")
            .publishSubscribeChannel(Executors.newCachedThreadPool(),
                    input -> input
                            .subscribe(enrichmentFlow()))
                            .subscribe(anotherFlow()))
            .get();
}

@Bean
public IntegrationFlow enrichmentFlow(){

    return flow -> flow.enrich(e -> e
            .requestChannel(enrichmentRequestChannel())
            .replyChannel(enrichmentReplyChannel())
            .requestPayload(Message::getPayload))
            .transform(Transformers.fromJson(Data.class))
            .handle(Data.class, (payload, headers) -> enrichmentService.transform(payload))
            .handle(amqpOutboundFlow());
}


@Bean
public HttpRequestHandlingMessagingGateway httpIngest() {
    return Http.inboundGateway(SINK_ENDPOINT_PATH).get();
}


@Bean("enrichmentRequestChannel")
public DirectChannel enrichmentRequestChannel(){
    return MessageChannels.direct().get();
}

@Bean("enrichmentReplyChannel")
public DirectChannel enrichmentReplyChannel(){
    return MessageChannels.direct().get();
}


@Bean
public AmqpOutboundEndpoint amqpOutboundFlow() {
    return Amqp.outboundAdapter(this.amqpTemplate).routingKeyExpression("enrichOut.enrichedGroup").get();
}

我犯了一个错误,忘记取消注释我以前使用过的绑定,因此TransformationService有两种绑定方式(至少看起来是这样)


我犯了一个错误,忘记取消注释我以前使用过的绑定,因此TransformationService有两种绑定方式(至少看起来是这样)


请为那个错误显示更多的堆栈跟踪。谁订阅了
EnrichEntrequestChannel
?请显示,我所有的代码都在那里。因为我是spring集成的新手,我想我错过了一些东西…好吧,那么,更多的堆栈跟踪在哪里?也许你可以准备一些spring引导应用程序从我这边播放Ocaly?请显示,更多的堆栈跟踪错误m-m-m。谁订阅了
EnrichEntrequestChannel
?请显示,我所有的代码都在那里。因为我是spring集成的新手,我想我错过了一些东西…好吧,那么,更多的堆栈跟踪在哪里?也许你可以准备一些spring启动应用程序从我的在当地吗?
 @ServiceActivator(inputChannel = "enrichmentRequestChannel", outputChannel = "enrichmentReplyChannel")
 public EnrichedData transform(Data data) {