我希望能够在Mule(CE-3.6.1)中轻松地将侦听器配置从http切换到https(具有基本的身份验证)。我在mule-project.xml'mule.protocol'中创建了一个变量,两个属性文件http.properties和https.properties包含一些数据,如端口(http和https中的相同端口),主机,密码等。
在config.xml中我有:<context:property-placeholder location="${mule.protocol}.properties" />
<http:listener-config name="HTTP_Listener_Configuration" host="${host}" port="${port}" doc:name="HTTP Listener Configuration" protocol="${protocol}">
<tls:context>
<tls:key-store type="${keystore.type}" path="${keystore.path}" keyPassword="${keystore.keyPassword}" password="${keystore.password}" />
</tls:context>
</http:listener-config>
但我有两个问题。 首先,我收到一条消息:值'$ {protocol}'在枚举'[HTTP,HTTPS]'方面不是人工有效的 第二部分'tls:context'仅在https情况下允许,所以我必须动态隐藏它。如何解决这些问题或者是否有另一种方法可以在http和https的配置之间轻松切换?我在许多服务中使用HTTP_Listener_Configuration。
答案 0 :(得分:2)
不幸的是,这只是为Mule 3.8.0(即将推出)添加的。在旧版本中,协议属性不支持属性。您可以使用Spring配置文件作为解决方法。您可以在JIRA ticket中找到更多数据。