我正在解析请求。我在 Java 中开发了用于解析传入请求的路由。
我正在使用带有 FuseESB 7.0.1.0.84 的 Camel 2.9。
我曾经simple(“{body}”).getText()
按照骆驼手册获取传入的请求
所以我使用以下代码检查传入的请求:
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()
观察到的奇怪结果:
从soap request 到""的值xmlStringToParse
仅在一行中改变。此外,“<code>xmlStringToParse equals ${body}”打印为“<code>xmlStringToParse equals”而不打印${body}
。${body}
不打印在日志中。
您可以找到以下日志输出:
<error>
Value of xmlStringToParse: <somesoapRequest>
xmlStringToParse is empty: false
xmlStringToParse equals : true
Again checking incoming request:
</error>
谁能告诉我如何解决这个问题以及这种奇怪行为的原因?