我需要一些关于 Mule 3 esb 的帮助。我正在读取来自 JMS 队列的消息,然后我想将此消息的某些部分发布到外部 REST api 并处理响应。我以前只使用过 Mule 与数据库通信,从未使用过 Web 服务。你能帮我弄清楚我需要做什么才能正确发布到这个 api 并处理响应。我应该使用 java 组件而不是在流程中执行它吗?
这是来自 JMS 队列的示例 XML 消息
<longUrl>http://www.cnn.com</longUrl>
这是我的流程
<flow name="myFlow" doc:name="myFlow">
<jms:inbound-endpoint queue="input" connector-ref="jmsConnector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN"/>
</jms:inbound-endpoint>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<choice doc:name="Choice">
<when expression="payload.size() > 0" evaluator="groovy">
<processor-chain>
<logger message="****** Create short url *******" level="INFO" doc:name="Logger"/>
<https:outbound-endpoint method="POST" exchange-pattern="request-response" address="https://www.googleapis.com/urlshortener/v1/url" contentType="application/json" doc:name="HTTP"/>
</processor-chain>
</when>
<otherwise>
<processor-chain>
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="Content-Type" value="text/plain"/>
</message-properties-transformer>
<expression-transformer doc:name="Expression">
<return-argument evaluator="string" expression="no parameter is given!"/>
</expression-transformer>
</processor-chain>
</otherwise>
</choice>
</flow>