2013-07-08 61 views
0

我喜欢将许多附加文件保存到文件系统。为此,我使用本教程中描述的方式: http://wso2.com/library/knowledge-base/2011/06/saving-mtom-attachments-using-vfs-transportWSO2 ESB动态端点uri

它正在工作,但我认为它不会使用相同的文件名保存alle文件。我需要为每个文件的新文件名,所以这是行不通的:

<send> 
    <endpoint name="endpoint_urn_uuid_121B17550AB61F010217054386886961-1720160132"> 
     <address uri="vfs:file:///home/amila/temp/vfs/woden-impl-dom-1.0-SNAPSHOT.jar"/> 
    </endpoint> 
</send> 

后来我发现一个端点模板这个问题:Dynamic Endpoint in WSO2

<send> 
    <endpoint template="TemplateEndPoint"> 
    <parameter name="uri" value="http://localhost:8080/axis2/services/TaskService.TaskServiceHttpEndpoint/getTask" /> 
    <parameter name="name" value="Testing" /> 
    </endpoint> 
</send> 

如果我这样做是正确,有可能给这个端点一些参数,但只有值,没有表达式?我需要给uri一个表达式,以便例如我可以将文件名保存在一个属性中,并使用该文件名作为uri端点。这可能吗?例如类似的东西:

<send> 
    <endpoint template="TemplateEndPoint"> 
    <parameter name="uri" expression="get-property('fileendpoint')" /> 
    <parameter name="name" value="Testing" /> 
    </endpoint> 
</send> 

回答

0

请尝试下面的代码。

<property name="transport.vfs.ReplyFileName" 
        expression="fn:concat(get-property('ID'), '.xml')" 
        scope="transport"/> 
     <property name="OUT_ONLY" value="true"/> 
     <send> 
      <endpoint> 
       <address uri="vfs:file:///D:/Test/files/output/"/> 
      </endpoint> 
     </send>