我在我的 WSO2 ESB 上定义了一个代理服务,它使用 XQuery 转换传入的消息(我正在关注Sample 390)。
问题在于 ESB 将定义为 的变量转换payload
为定义为ELEMENT
的 XQuery 变量document-node()
。但是,我的 XQuery 只接受element
() :
declare variable $payload as element(ns:payload) external;
有什么方法可以定义 ESB 变量或修改变量表达式以便输入到 XQuery 中element
?
我试过 :
<xquery key="xquery-key-req">
<variable xmlns:nms="http://my.nms.com" name="payload" expression="$body/nms:payload" type="ELEMENT" />
</xquery>
但这会返回以下错误:
Required item type of first argument of xf:xqueryRequest() is element({http://my.nms.com}payload); supplied value has item type document-node(element({http://my.nms.com}payload))