WSO2 ESB动态端点uri

时间:2013-07-08 13:12:32

标签: file wso2 esb endpoint

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

它正在运行,但我认为它不能保存具有相同文件名的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>

1 个答案:

答案 0 :(得分: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>