如何将CSV有效负载发布到HTTP上传服务器?

时间:2017-11-21 18:55:10

标签: mule

我可以使用Postman将CSV文件发布到上传网站,但不能使用Mule执行此操作。该网站是HTTPS,但在Postman我已经关闭了SSL证书。我使用的是Content-Type:multipart / form-data。附件被称为"数据"并且文件是CSV。这很有效。

使用Mule它不起作用我的片段。

<sub-flow name="upload-content">
        <set-attachment attachmentName="data" value="#[payload]" 
   contentType="application/csv" doc:name="Content Attachment"/>
        <set-property propertyName="Content-Type" 
value="application/multipart/form-data" doc:name="Set Outbound Header"/>
    <logger level="INFO" doc:name="Logger"/>
    <http:request config-ref="my-request-configuration" path="${my.upload.path}" method="POST" doc:name="HTTP Upload"/>
</sub-flow>

这是我的错误:

元素:/ transaction-history-file / processors / 2 / upload-content / subprocessors / 3 @ prc-transaction-history:service.xml:52(HTTP上传)

元素XML:

Root异常堆栈跟踪: java.util.NoSuchElementException     at java.util.Collections $ EmptyIterator.next(Collections.java:4189)     at com.mulesoft.mule.http.request.NameResolvingRequestBuilder.nextResolvedAddresses(NameResolvingRequestBuilder.java:99)     在com.mulesoft.mule.http.request.NameResolvingRequestBuilder.setUrl(NameResolvingRequestBuilder.java:75)     在org.mule.module.http.internal.request.grizzly.GrizzlyHttpClient.createGrizzlyRequest(GrizzlyHttpClient.java:545)     在org.mule.module.http.internal.request.grizzly.GrizzlyHttpClient.sendAndWait(GrizzlyHttpClient.java:345)

有人可以帮忙吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

当您无法连接到主机时会发生此问题 检查是否需要在应用程序中启用代理才能连接到主机 点击此处https://www.mulesoft.org/jira/browse/MULE-10108由于无法连接主机而导致此问题发生此问题

尝试检查连接问题。在您的HTTP请求组件将有效负载设置为null之前,将您的流看起来很好,就在最后:

<set-payload value="#[null]"/> 

并删除:

<set-property propertyName="Content-Type" 
value="application/multipart/form-data" doc:name="Set Outbound Header"/>

multipart/form-data set-property中,一切都随附件和身体保持为空而且您不需要设置SELECT ce.date, p.courseExecution_date FROM courseExecution AS ce LEFT JOIN participant AS p ON ce.courseID = p.courseExecution_courseID WHERE ce.courseID = 2 and p.personID = 4 and ce.date <> p.courseExecution_date
请不要指定contentType,否则Mule将无法在POST中提供多部分边界。