Как загрузить несколько файлов через REST через HTTP, используя Mule?

У меня есть папка "MyFiles", где у меня много файлов. Теперь мне нужно загрузить этот файл через REST через HTTP . Какой будет подход?

Я попробовал ниже, но это неправильно

<flow name="testFlow1" doc:name="testFlow1">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>


         <http:rest-service-component 
                                serviceUrl="http://localhost:8280/rest/xyz" 
                                httpMethod="POST"> 
         </http:rest-service-component> 

    <http:endpoint host="localhost" port="5430" encoding="UTF-8" 
                method="POST" connector-ref="fileHttp" path="fileuploader" name="muleFileUploader">
       </http:endpoint>

</flow>

Пожалуйста помоги. Поскольку во входной папке будет несколько файлов, как мы можем этого достичь?

Спасибо

1 ответ

Решение

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

Ниже приведена конфигурация, которая успешно загружает файлы в конечную точку HTTP. Я не могу заставить его работать без object-to-byte-array-transformer (один и тот же файл опрашивается снова и снова - ошибка?), поэтому я надеюсь, что ваши файлы не очень большие...

<flow name="fileUploader">
    <file:inbound-endpoint path="/tmp/mule/in"
        pollingFrequency="5000" moveToDirectory="/tmp/mule/done" />
    <object-to-byte-array-transformer />
    <http:outbound-endpoint address="http://..."
        method="POST" exchange-pattern="request-response" />
</flow>
Другие вопросы по тегам