2013-07-08 3 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>