リクエストの解析に取り組んでいます。着信要求を解析するために Java でルートを開発しました。
FuseESB 7.0.1.0.84 で Camel 2.9 を使用しています。
simple(“{body}”).getText()
Camel Manual に従って着信リクエストを取得していました
したがって、コードを次のように使用して、着信要求をチェックしています。
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
、soap リクエストから "" に 1 行で変更されます。また、「<code>xmlStringToParse equals ${body}」は、print せずに「<code>xmlStringToParse equals」と出力されます${body}
。${body}
ログには出力されません。
ログ出力は次のとおりです。
<error>
Value of xmlStringToParse: <somesoapRequest>
xmlStringToParse is empty: false
xmlStringToParse equals : true
Again checking incoming request:
</error>
この問題を解決する方法と、この奇妙な動作の理由を誰か教えてもらえますか?