当前位置: 首页 > 知识库问答 >
问题:

Apache Camel HTTP显示请求和响应

柳涵意
2023-03-14

我正在使用Apache Camel将数据从CSV文件加载到webservice。我是否可以显示请求和响应。以下是路线配置。。

我从数组中拆分并聚合100个项目,以作为邮件正文发送。

from(fileLocation)
.unmarshal().csv().bean(new CSVConverter(), "process")

.split(body())
.aggregate(constant(true), new GroupedBodyAggregationStrategy())
.completionSize(100)
.completionTimeout(1000)
.marshal().json(JsonLibrary.Jackson)

.setHeader("Authorization", simple(apiKEY))
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.setHeader(Exchange.HTTP_URI, simple(apiURL))
.setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
.to("https://serivceurl.com/abc");

请让我知道如何使用上述路线显示请求和响应?

共有2个答案

安轶
2023-03-14

如果您查看org.apache.camel.component.http.HttpProducer类,您将看到实现了一些日志记录。

        try {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Executing http {} method: {}", method.getName(), method.getURI());
        }
        int responseCode = executeMethod(method);
        LOG.debug("Http responseCode: {}", responseCode);

因此,如果您将日志框架(如logback)配置为正确的LoggingLevel,您将看到HTTP-Component到底做了什么。如果您想自己记录它,您可以尝试使用日志组件或日志dsl,就像另一个答案中提到的那样。

凌联
2023-03-14

您可以使用camel日志组件来记录头;属性和正文

前任:

.to("log:DEBUG?showBody=true&showHeaders=true")
.to("https://serivceurl.com/abc");
.to("log:DEBUG?showBody=true&showHeaders=true")

有关更多选项,请参阅:https://camel.apache.org/log.html

如果您计划使用CXF调用Web服务,可以使用开箱即用的日志记录功能,如下所示,

<cxf:bus>
  <cxf:features>
    <cxf:logging/>
  </cxf:features>
</cxf:bus>
 类似资料:
  • 我的问题很简单,我已经请求了JSONYouTubev3数据API,但是,我想显示从链接请求的数据:https://www.googleapis.com/youtube/v3/channels?part=statistics

  • 问题内容: 我的应用程序中有地图活动。我正在尝试请求位置权限,但是没有显示请求权限。我不知道为什么… 这是我的完整代码: 最后,烤面包片“出现在这里2”。我想这是因为请求没有出现。除了这些行,我是否需要在清单中写一些东西? 也许我需要写一些东西来使用这些权限? 再次查看logcat之后,我发现了此日志 这是什么意思? 问题答案: 花了几天时间解决此问题后,我发现未显示请求权限的原因是由于TabHo

  • Volley能否显示完整的HTTP请求/响应? 我已经使用了,它确实显示了一些日志消息,但没有显示HTTP流量。

  • HTTP请求和HTTP响应在任何Web应用程序中都发挥着重要作用。 我们需要获取http请求的完整详细信息以便正确处理它。 处理完毕后,我们需要通过http响应将处理后的数据发送给客户端。 FuelPHP提供了出色的Request和Response类,分别用于读写HTTP请求和HTTP响应。 让我们在本章中了解Request和Response类。 Request 在典型的Web应用程序中,应用程序

  • 我正在使用JMeter为2000个用户测试托管在azure服务器上的应用程序。但我得到了以下错误响应代码:非HTTP响应代码:org.apache.HTTP.conn.HttpHostConnectException响应消息:非HTTP回应消息:连接到http://www.app.com拒绝 响应代码:非HTTP响应代码:Java . net . sockettimeoutexception响应消

  • 问题内容: 是否可以在HTML的主流中显示由jQuery AJAX调用返回的图像? 我有一个脚本,用于绘制带有标题的图像(图像/ PNG)。当我在浏览器中简单地调用它时,就会显示图像。 但是,当我在此脚本上使用jQuery进行AJAX调用时,我无法显示干净的图像,但其中包含许多奇怪的符号。这是我的脚本,使图像带有标题(图像/ PNG)。 然后,我的主要脚本中包含一个AJAX调用: 在我的HTML文