Java ApacheCamel REST DSL API的行为与相对CURL操作不同

Java ApacheCamel REST DSL API的行为与相对CURL操作不同,java,rest,apache-camel,camel-http,Java,Rest,Apache Camel,Camel Http,我被困在一件让我发疯的事情里 我正在创建一个应用程序,它公开了一些API,并将这些API映射到一些外部API,所以我的应用程序基本上是一个passto槽。这个操作是一个真正有效的帖子,但这里是魔术发生的地方。所以基本上我的API接受一个POJO类作为输入,它将被称为ObjectIN,处理器进行一些转换,并将一个称为ObjectOUT的不同POJO发送给外部API(不是我的) api是在第二个api环境中将订单插入到db中。现在,我正在测试两次将相同的有效负载作为输入体发送的情况,因此我预计2n

我被困在一件让我发疯的事情里

我正在创建一个应用程序,它公开了一些API,并将这些API映射到一些外部API,所以我的应用程序基本上是一个passto槽。这个操作是一个真正有效的帖子,但这里是魔术发生的地方。所以基本上我的API接受一个POJO类作为输入,它将被称为ObjectIN,处理器进行一些转换,并将一个称为ObjectOUT的不同POJO发送给外部API(不是我的)

api是在第二个api环境中将订单插入到db中。现在,我正在测试两次将相同的有效负载作为输入体发送的情况,因此我预计2n API会发送500,因为订单已经插入,但是如果我的应用程序发送insert1,然后是insert2,那么在这两种情况下,我都会从第二个API获得202。如果我使用相同的主体对第二个API进行直接卷曲,第一个工作返回202,而第二个工作返回500

我真的不明白发生了什么,因为我没有处理第二个api,所以我有点盲目。我认为这可能与所传递的json有关,但我通常在发送到DSL上的.to(2ndAPI)字段之前使用封送处理,而且插入在这两种情况下都可以正常工作,因此第二个api的后端可以理解并解封我的处理体


有什么建议吗?我也可以复制代码,但我真的尝试了我这边的一切

尝试tcpdump(或tshark、wireshark)并将来自Camel的请求与curl进行比较。如果没有
2ndAPI
的实际实现和确切行为,很难回答这个问题。如果您可以发布代码,这将是一个理想的选择,但它也可能与标题有关。在第二次API调用之后,是否可以尝试立即打印标题“CamelHttpResponseCode”?