我正在尝试使用文件连接器作为入站端点在Mule中创建RESTful服务,当存在文件时,应该将其推送到HTTPS端点。使用下面的问题作为起点我试图遵循这个方法。没有返回异常,文件也没有传输。
How to upload multiple files via REST over HTTP using Mule?
在这个问题中有关于未设置的内容类型的评论,我有同样的问题,但为了我的测试目的,我试图推送文本文件。
<file:connector name="File" autoDelete="false" streaming="true" validateConnections="true" doc:name="File"/>
<https:connector name="HTTP_HTTPS" cookieSpec="netscape" validateConnections="true" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" doc:name="HTTP-HTTPS">
<https:tls-key-store path="keystore.jks" keyPassword="PASS" storePassword="PASS"/>
<https:tls-server path="nr_up_truststore.ts" storePassword="PASS"/>
</https:connector>
<flow name="Flow1" doc:name="Flow1">
<file:inbound-endpoint path="Path" responseTimeout="10000" doc:name="File" connector-ref="File" disableTransportTransformer="true">
<file:filename-regex-filter pattern="file(.*).txt" caseSensitive="false"/>
</file:inbound-endpoint>
<object-to-byte-array-transformer encoding="ISO-8859-5" doc:name="Object to Byte Array"/>
<https:outbound-endpoint exchange-pattern="request-response" host="host" port="443" method="POST" doc:name="HTTP" connector-ref="HTTP_HTTPS" path="PATH" mimeType="text/plain" password="PASS" user="USER"/>
</flow>
&#13;
使用以下异常堆栈
异常堆栈是: 1.找不到可信证书(sun.security.validator.ValidatorException) sun.security.validator.SimpleValidator:-1(null) 2. sun.security.validator.ValidatorException:找不到可信证书(javax.net.ssl.SSLHandshakeException) sun.security.ssl.Alerts:-1(http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/net/ssl/SSLHandshakeException.html) 3.无法通过端点路由事件:DefaultOutboundEndpoint {endpointUri = https://:@URL,connector-HttpsConnector
答案 0 :(得分:0)
您没有在当地钥匙串中设置证书。
命令行工具非常困难,TLS / SSL是一个复杂的问题。我建议你使用像key store explorer这样的图形工具来下载网站的证书,并用它创建一个java密钥库。