我有一个案例需要在我的文件系统上轮询目录。添加到该目录的每个文件都需要发布到HTTP端点。
HTTP端点在" / rest / latest / file"上可用。使用postman,我已经验证了REST调用可以使用以下设置:
我的骡子流目前看起来像这样:
<file:connector name="File" autoDelete="true" streaming="true" validateConnections="true" moveToPattern="#[message.inboundProperties['originalFilename']].backup" moveToDirectory="src/main/resources/output" doc:name="File"/>
<flow name="importdataqualityresultsFlow1" doc:name="importdataqualityresultsFlow1">
<file:inbound-endpoint path="src/main/resources/input" responseTimeout="10000" doc:name="File"/>
<set-payload value="#[['file' :#[message.inboundAttachments['text.txt']]]]" doc:name="Set Payload"/>
<http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="80" path="rest/latest/file" method="POST" user="Admin" password="admin" contentType="application/form-data" doc:name="HTTP"/>
</flow>
我可以在我的应用程序日志中告诉用户使用基本身份验证登录,然后我获得堆栈跟踪。
非常感谢任何帮助/指示。
答案 0 :(得分:2)
您需要使用表单字段创建地图有效内容:
<flow name="importdataqualityresultsFlow1">
<file:inbound-endpoint path="src/main/resources/input" />
<object-to-string-transformer />
<set-payload value="#[['file': message.payload]]" />
<http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="80" path="rest/latest/file" method="POST" user="Admin" password="admin" contentType="application/form-data" />
</flow>