我的 WSO2 ESB 代理服务收到以下请求:
<ReadFormRequest>
<formID>1470</formID>
<name>ConstructionForm</name>
</ReadFormRequest>
我需要将 ReadFormRequest 更改为 GetFormRequest 并将其发送到端点。
这是我应该完成这项工作的 PayloadFactory 代码:
<payloadFactory media-type="xml">
<format>
<GetFormRequest>
$1
</GetFormRequest>
</format>
<args>
<arg evaluator="xml" expression="$body/ReadFormRequest/*"/>
</args>
</payloadFactory>
问题是我的 XPath 表达式“$body/ReadFormRequest/*”返回子元素的值而不是实际元素。因此,我得到以下结果:
<GetFormRequest>
1470ConstructionForm
</GetFormRequest>
根据 XPath 文档,此查询应返回元素,但似乎 WSO2 检索元素值。