简体   繁体   English

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

[英]Mule ESB: How to use xpath expression on session variable?

I have a requirement to extract some information form session variables. 我需要提取一些信息形式的会话变量。 The session variables Type is String and contains XML. 会话变量的类型为String,并且包含XML。 i tried XPATH expression like - 我试过像-

xpath('//tns:CreateUpdateRQ/tns:RequestInfo/sns:requestSourceID',sessionVars.originalMessage)

however I get exception stating "Could not find transformer NULL Payload to Document". 但是我得到异常说明“找不到到文档的转换器NULL有效负载”。 I tried MEL like - #[sessionVars.originalMessage.CreateUpdateRQ.RequestInfo.requestID] . 我尝试了MEL,例如- #[sessionVars.originalMessage.CreateUpdateRQ.RequestInfo.requestID] But it's not working either. 但这也不起作用。

How can I extract information from session variable of Type string holding XML. 如何从持有XML的Type字符串的会话变量中提取信息。

PS I can set the payload to sesion variable & use xpath but it's not suitable for my case because I need to extract the information from session variable 7 pass it as argument to datamapper. PS我可以将有效负载设置为sesion变量并使用xpath,但是它不适合我的情况,因为我需要从会话变量7中提取信息,并将其作为参数传递给datamapper。

Appreciate you help on this. 感谢您的帮助。

To facilitate reading the xml file, I recommend transforming String (Object) to xml, for example: 为了方便阅读xml文件,我建议将String(对象)转换为xml,例如:

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

then 然后

<logger level="WARN" message="#[xpath://soapenv:Envelope/soapenv:Body//...]" />

In short, make sure the payload is XML type, you can by setting it 简而言之,请确保有效负载为XML类型,您可以通过将其设置为

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM