gpt4 book ai didi

java - FuseESB 的奇怪输出

转载 作者:行者123 更新时间:2023-12-02 07:21:02 26 4
gpt4 key购买 nike

我正在解析请求。我用 Java 开发了用于解析传入请求的路由。

我正在使用 Camel 2.9 和 FuseESB 7.0.1.0.84。

我使用simple(“{body}”).getText()按照Camel手册获取传入请求

因此,我使用以下代码检查传入请求:

if (xmlStringToParse == null || xmlStringToParse.equals("") || xmlStringToParse.equals("${body}")) {

parsedXMLPath = "<error>Incoming request is as folows:"
+ "\nValue of xmlStringToParse: " + xmlStringToParse
+ "\n xmlStringToParse is empty: " + (xmlStringToParse.equals(""))
+ "\n xmlStringToParse equals ${body}: " + (xmlStringToParse.equals("${body}"))
+ "\nAgain checking incoming request:\n" + xmlStringToParse
+ "</error>";
}

其中 xmlStringToParse = simple(“${body}”).getText()

观察到的奇怪结果:

xmlStringToParse 的值仅在一行中从肥皂请求更改为“”。此外,“xmlStringToParse equals ${body}”被打印为“xmlStringToParse equals”,而不打印${body}${body} 未打印在日志中。

可以看到日志输出如下:

   <error>
Value of xmlStringToParse: <somesoapRequest>
xmlStringToParse is empty: false
xmlStringToParse equals : true
Again checking incoming request:
</error>

谁能告诉我如何解决这个问题以及这种奇怪行为的原因?

最佳答案

I used simple(“{body}”).getText() to fetch incoming request as per Camel Manual

你在哪里看到的?有链接吗?

您应该以不同于您所做的方式获取消息正文,例如

String body = exchange.getIn().getBody(String.class);

或者如果使用bean参数绑定(bind),则可以绑定(bind)消息体,只需将参数声明为String类型即可

public void foo(String body) {
...
}

在 Camel 文档中查看更多详细信息,例如:http://camel.apache.org/bean-binding.html

关于java - FuseESB 的奇怪输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14242483/

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