2016-01-14 27 views
0

动态设置值使用mulesoft微连接器,用于twitter的配置参数的动态设定值,Twitter并配置Mulesoft

<twitter:config name="Twitter__Configuration" accessKey="#[flowVars.accessToken]" consumerKey="#[flowVars.consumerKey]"  consumerSecret="#[flowVars.consumerSecret]" doc:name="Twitter: Configuration" accessSecret="#[flowVars.accessTokenSecret]"/> 
<flow name="twitterFlow1"> 
    <db:select config-ref="MySQL_Configuration" doc:name="Database"> 
     <db:parameterized-query><![CDATA[select * from twittercredentials;]]></db:parameterized-query> 
    </db:select> 
    <set-variable variableName="consumerKey" value="#[message.payload[0]['consumerkey']]" doc:name="Variable" /> 
    <set-variable variableName="consumerSecret" value="#[message.payload[0]['consumersecret']]" doc:name="Variable" /> 
    <set-variable variableName="accessToken" value="#[message.payload[0]['accesstoken']]" doc:name="Variable" /> 
    <set-variable variableName="accessTokenSecret" value="#[message.payload[0]['accesstokensecret']]" doc:name="Variable" /> 
</flow> 
<flow name="twitterFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/twitterconnect" doc:name="HTTP"/> 
    <flow-ref name="twitterFlow1" /> 
    <twitter:show-user config-ref="Twitter__Configuration" doc:name="Twitter"/> 
    <json:object-to-json-transformer doc:name="Object to JSON"/> 
</flow> 

但是调用/ twitterconnect当我得到一个异常,

Failed to connect/reconnect: Work Descriptor. Root Exception was: 401 response received, but no WWW-Authenticate header was p 
resent. Type: class java.lang.IllegalStateException 

在twitter配置中使用硬编码值工作正常。请帮忙吗?

+0

如果您在Twitter流引用之前(或Twitter之前)放置记录器,那么有效载荷中的密钥,秘密和令牌是否是数组?我要检查的第一件事是确保数据正在发送。此外,如果它是一个对象与数组相对,则可能需要更改为payload.consumerKey而不是payload [0] .consumerKey –

+0

如果我在twitter:show-user命令之前放置message.payload的记录器,则值为as [[{ accesstoken = xxx accesstokensecret = xxx,consumersecret = xx,consumerkey = xxx}] –

回答

0

我认为这是行不通的,因为你实例化twitter:config只有一次,而且是空的。 您应该找到创建新配置并将其注入到Twitter组件的方式。

+0

感谢@Federico Barrera Oro,请问如何继续使用这个?任何例子? –

0

试试这个: 创建一个属性文件,并使用引用在属性文件中写入AccessKey,AccessSecret,ConsumerKey,ConsumerSecret值,并在twitter连接器中输入详细信息为$ {}并将引用放置在大括号中。