gpt4 book ai didi

java - 使用 Camel Netty4 发布请求响应 - HTTP 操作调用失败

转载 作者:行者123 更新时间:2023-11-30 01:49:04 26 4
gpt4 key购买 nike

我是 Camel 新手,正在尝试使用 POST 请求从 Netty4 路由获取响应。我想发送 JSON 并返回从正文中提取的字符串。

我的休息设置如下:

public class Server extends RouteBuilder {

@Override
public void configure() {

String listenAddress = "0.0.0.0";
int listenPort = 8080;

restConfiguration()
.component("netty4-http")
.scheme("http")
.host(listenAddress)
.dataFormatProperty("prettyPrint", "true")
.bindingMode(RestBindingMode.auto)
.port(listenPort);

rest("/")
.post()
.consumes("application/json; charset=UTF-8")
.to("direct:post");
}
}

在我的 Camel route ,我想使用以下方式发回消息:


@Component
public class RestRoute extends RouteBuilder {

@Autowired
CamelContext context;

@Override
public void configure() {

from("direct:post")
.log("New Request")
.streamCaching()

.setHeader(Exchange.HTTP_METHOD,constant(org.apache.camel.component.http4.HttpMethods.POST))
.setBody().jsonpath("$.Text") // extract text from JSON
.to("http4://0.0.0.0:8080?bridgeEndpoint=true");

但是我收到以下错误:org.apache.camel.http.common.HttpOperationFailedException:HTTP操作失败调用http://0.0.0.0:8080,状态代码:500

非常感谢您的帮助!

最佳答案

哦,您不应该发回消息,这会在路由结束时自动发生,然后该消息将用作其余消息的响应消息。

所以删除

.to("http4://0.0.0.0:8080?bridgeEndpoint=true");

关于java - 使用 Camel Netty4 发布请求响应 - HTTP 操作调用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com