WSO2 ESB 4.6.0从配置中获取PayloadFactory格式

时间:2013-02-08 16:51:28

标签: configuration wso2esb payload

我正在尝试整理一个序列,该序列从初始请求中提取属性并存储这些属性,直到响应返回,替换某些区域并将其发送到另一个服务。我已成功完成此操作,但我想通过在注册表中托管payloadFactory格式并使用format标记中的key属性引用它来改进我的方法。

以下是我想要完成的示例:Sajini's Blog

以下是我目前正在使用的代码:

<sequence xmlns="http://ws.apache.org/ns/synapse">
   <payloadFactory>
      <format>
         <AddEditEmailAddress xmlns="http://tempuri.org/">               
            <eResponse xmlns:a="http://schemas.datacontract.org/2004/07/NoelGroup.Users.Core.Task.BusinessLayer" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">            $1                  
               <Success xmlns="http://schemas.datacontract.org/2004/07/NoelGroup.Users.Task.BusinessLayer">true</Success>            $2            
            </eResponse>               
            <personId>$3</personId>         
         </AddEditEmailAddress>
      </format>
      <args>
         <arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('default','BROKEN_OBJECT')"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:a="http://schemas.datacontract.org/2004/07/NoelGroup.Users.Core.Task.BusinessLayer" expression="get-property('default','EMAILS')"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('default','PERSON_ID')"/>
      </args>
   </payloadFactory>

这就是我想要的:

<sequence xmlns="http://ws.apache.org/ns/synapse">
   <payloadFactory>
      <format key="conf:/User_Sync_Assets/Email_Req.xml"/>
      <args>
         <arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('default','BROKEN_OBJECT')"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:a="http://schemas.datacontract.org/2004/07/NoelGroup.Users.Core.Task.BusinessLayer" expression="get-property('default','EMAILS')"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('default','PERSON_ID')"/>
      </args>
   </payloadFactory>

1 个答案:

答案 0 :(得分:0)

此功能将在ESB 4.7.0版本中提供。