【发布时间】:2016-08-30 19:27:43
【问题描述】:
我希望能够在 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。
【问题讨论】:
-
${protocol} 可能是保留字。无论如何,根据您的代码,您应该使用 ${mule.protocol} 而不是 {protocol}。不是吗?
-
顺便说一句,您可以使用
启用两个端点
标签: mule