在WSO2 ESB中删除XML文件中的几个节点

在WSO2 ESB中删除XML文件中的几个节点,xml,xslt,wso2,wso2esb,Xml,Xslt,Wso2,Wso2esb,我从ESB中的端点获取XML结果。我必须存储此结果XML,并将其发送到API以验证内容。validate API返回几个无效项,我必须从XML中删除这些无效项,然后再次将XML发送到另一个端点 我的做法: 现在我正在调用端点API,它返回XML记录。我将其存储为请求\有效负载的Enrich Mediator。并将其发送到另一个端点进行验证。我已将验证端点的结果再次存储在属性中。然后,当我通过$ctx:Request\u payload访问请求负载时,我得到了XML文件。但我无法将此XML传递给X

我从ESB中的端点获取XML结果。我必须存储此结果XML,并将其发送到API以验证内容。validate API返回几个无效项,我必须从XML中删除这些无效项,然后再次将XML发送到另一个端点

我的做法: 现在我正在调用端点API,它返回XML记录。我将其存储为请求\有效负载的Enrich Mediator。并将其发送到另一个端点进行验证。我已将验证端点的结果再次存储在属性中。然后,当我通过$ctx:Request\u payload访问请求负载时,我得到了XML文件。但我无法将此XML传递给XSLT,在XSLT中,我必须根据第二个端点的结果删除一些项

我应该能够将这个XML以及验证API的结果传递给XSLT,这样就可以从XML中删除很少的项并发送到另一个API

 Example: 
   1st XMl
  '<Data>  
     <User Name="XYZ">
     <DETAILS>
     <COURSE>IS</COURSE>
     <YEAR>2016</YEAR>
     <SUBJECT>COMPUTER SCIENCE<SUBJECT>         
    </DETAILS>
  </User>
 <User Name="ABC">
  <DETAILS>
   <COURSE>IS</COURSE>
    <YEAR>2015</YEAR>
    <SUBJECT>INFO SCIENCE<SUBJECT>         
   </DETAILS>
  </User>
 </Data>'

       2nd XML :
  '<message> ABC user is invalid </message>
     <value>ABC</value>'

    Result XML :
        Remove ABC from the 1st XML
    '<Data>  
    <User Name="XYZ">
    <DETAILS>
    <COURSE>IS</COURSE>
    <YEAR>2016</YEAR>
    <SUBJECT>COMPUTER SCIENCE<SUBJECT>         
   </DETAILS>
   </User>
  </Data> '
示例:
第一个XMl
'  
是
2016
计算机科学
是
2015
信息科学
'
第二个XML:
'ABC用户无效
ABC'
结果XML:
从第一个XML中删除ABC
'  
是
2016
计算机科学
'

您有两个属性type=“OM”:请求\u有效负载,并说验证API的结果保存在验证\u有效负载中

使用enrich mediator将请求\有效负载设置为当前消息。例如,如果您的属性包含soap主体:

<enrich>
    <source type="property" property="REQUEST_PAYLOAD"/>
    <target type="body"/>
</enrich>

使用enrich mediator将验证有效负载的内容附加到当前消息中,例如:

<enrich>
  <source clone="true" xpath="get-property('VALIDATION_PAYLOAD')"/>
  <target type="body" action="child"/>
</enrich>


使用log level=“full”查看您得到的确切信息,然后使用xslt mediator。我可以建议如下:在收到来自验证端点的响应后,应将其保存到另一个属性中,作为validateResponse。接下来,您应该使用Enrich或PayloadFactory将$body替换为REQUEST\u负载。然后可以调用XSLT中介,它将用它的响应替换$body。您现在可以选择使用三个有效负载。

我不确定是否理解您的问题。您希望计算机能够理解ABC用户无效作为删除
及其后代的指令吗?!如果我没有看到你预期的结果,我自己也不会明白还要注意,您的第二个XML格式不正确。