Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mule ESB:如何在会话变量上使用xpath表达式?_Xpath_Mule - Fatal编程技术网

Mule ESB:如何在会话变量上使用xpath表达式?

Mule ESB:如何在会话变量上使用xpath表达式?,xpath,mule,Xpath,Mule,我需要从会话变量中提取一些信息。会话变量类型为字符串,包含XML。我尝试了XPATH表达式,比如- xpath('//tns:CreateUpdateRQ/tns:RequestInfo/sns:requestSourceID',sessionVars.originalMessage) 然而,我得到一个异常,声明“找不到文档的转换器空负载”。我尝试了MEL-like-#[sessionVars.originalMessage.CreateUpdateRQ.RequestInfo.request

我需要从会话变量中提取一些信息。会话变量类型为字符串,包含XML。我尝试了XPATH表达式,比如-

xpath('//tns:CreateUpdateRQ/tns:RequestInfo/sns:requestSourceID',sessionVars.originalMessage)
然而,我得到一个异常,声明“找不到文档的转换器空负载”。我尝试了MEL-like-
#[sessionVars.originalMessage.CreateUpdateRQ.RequestInfo.requestID]
。但它也不起作用

如何从包含XML的字符串类型的会话变量中提取信息

另外,我可以将有效负载设置为sesion变量并使用xpath,但它不适合我的情况,因为我需要从会话变量7中提取信息,并将其作为参数传递给datamapper


感谢您在这方面的帮助。

为了便于阅读xml文件,我建议将字符串(对象)转换为xml,例如:

<xml:object-to-xml-transformer /> 

然后


简而言之,确保有效负载是XML类型,您可以通过设置它

<set-property propertyName="Content-Type" value="text/xml" />

谢谢您的回复。不过,我希望从会话变量(存储XML字符串)中提取信息。我尝试了多种选项,如-“#[xpath('//tns:CreateUpdateSchoolRQ/tns:requestInfo',sessionVars.originalSchoolMessage)]”&.text、.getText()等,但都不起作用。如果我将session变量设置为payload&使用xpath,我会得到正确的结果。但是我想直接从会话变量中提取信息。
<set-property propertyName="Content-Type" value="text/xml" />