Невозможно создать входящую конечную точку динамического файла в муле

Я получаю путь к файлу в качестве входных данных для мула внутри XML. Используя выражение XPATH, я могу извлечь путь. Я хочу прочитать определенный файл с этого пути. Я попытался определить входящую конечную точку файла, как показано ниже. Но это не похоже на работу.

    <flow name="flow1">
     ....
     ....
    <set-session-variable variableName="filePath" value="#[xpath://filePath]" />
    <flow-ref name="fileFlow"/>
    </flow>

    <flow name="fileFlow">
    <file:inbound-endpoint path="#[header:SESSION:filePath]" />
    </flow>

Я понимаю, что никакой код не может быть помещен перед входящей конечной точкой. Поэтому я определил это в другом потоке. Пожалуйста, предложите, если есть способ прочитать файл по указанному пути.

1 ответ

Решение

К сожалению, вы не можете программно вызвать такую ​​точку входа.

Однако та же функциональность может быть достигнута с помощью модуля запрашивающего Mule:

Пример:

  <flow name="RequestFile" doc:name="RequestFile">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="requestfile" doc:name="HTTP"/>
        <mulerequester:request config-ref="Mule_Requester" resource="file:///s/tmp/demorequester/read/#[message.inboundProperties['filename']]" returnClass="java.lang.String" doc:name="Request a file"/>
    </flow>

Инструкции здесь: https://github.com/mulesoft/mule-module-requester и https://blogs.mulesoft.com/dev/mule-dev/introducing-the-mule-requester-module/

Другие вопросы по тегам