我正在从源表读取一些值并写入目标表。由于字段的名称和某些值不同,所以我在WSO2 ESB中使用XSLT中介器。 在xslt中介器之后,我想将更多的值注入到有效负载中。说一些我之前存储的变量。我无法执行xslt,因为这些值在某些变量中。 所以下面是我的代码。虚线的代码应该是什么?
<enrich>
<source clone="true" property="SOURCE_TABLE_PAYLOAD" type="property"/>
<target type="body"/>
</enrich>
<xslt key="gov:/bcogc/transformation/SourcetoTargetTransformation.xslt"/>
----------------ADD SOME MORE VALUES HERE to the payload------------------
<header name="Action" scope="default" value="urn:inserttotargettable"/>
<call>
<endpoint key="gov:/endpoints/INSERT_DataService_EP.xml"/>
</call>
请扔些灯
答案 0 :(得分:1)
您可以再次使用富媒体,例如
<property name="orderID" scope="default" description="orderID">
<orderID xmlns="">2</orderID>
</property>
<enrich>
<source clone="true" xpath="$ctx:orderID"/>
<target action="sibling" xpath="//orders"/>
</enrich>
此处定义了orderID属性,因此现在您可以将该属性作为同级添加,以使您的请求来自XSLT,这样,在充实后,请求将如下所示
<orders>
<order>
<price>50.00</price>
<quantity>500</quantity>
<symbol>IBM</symbol>
<comment>REF 10053</comment>
</order>
<order>
<price>18.00</price>
<quantity>500</quantity>
<symbol>MSFT</symbol>
<comment>ref 20088398289</comment>
</order>
</orders>
<orderID>2</OrderID>