使用mulesoft twitter连接器为twitter配置参数动态设置值,如下所示,
<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 :(得分:0)
我认为这样做是行不通的,因为你实施了twitter:config只有一次并且是空的。 您应该找到创建新配置并将其注入twitter组件的方法。
答案 1 :(得分:0)
试试这个: 创建一个属性文件,并在带有引用的属性文件中写入AccessKey,AccessSecret,ConsumerKey,ConsumerSecret值,并在twitter连接器中输入$ {}的详细信息,并将引用放在大括号内。