WSO2ESB、XPath、基于 SOAP 响应中标记的拆分值

WSO2ESB, XPath, split values based on a token in SOAP response

我有一个包含节点值的 SOAP 响应消息 类似于字符串 A_B_C_D。我需要分开每个 基于下划线 (_) 的值并将它们设置在 单独的属性。

我检查了 Xpath 标记化功能,但找不到 分别获取 array[1], array[2].. 等值的方法。 我也阅读了 XSLT 调解器但不确定是否 它将帮助我实现这一目标。

请指导我如何实现这一目标 objective

谢谢

您可以获得像 "array[1]" 这样的值,但不能使用 ESB 4.8.1 直接在 soap:Body 上应用标记化:

<property xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:fn="http://www.w3.org/2005/xpath-functions" name="MY_VALUE" expression="//soapenv:Body/myNode"/>
<property xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:fn="http://www.w3.org/2005/xpath-functions" name="Element1" expression="fn:tokenize(syn:get-property('MY_VALUE'),'_')[1]"/>

加上这条消息:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <myNode>A_B_C</myNode>
    </soapenv:Body>
</soapenv:Envelope>

属性 'Element1' 包含:'A'