我想向RabbitMQ发送HTTP请求。
我创建了一个HTTP代理:
<proxy name="RabbitWorld" startOnLoad="true" transports="http" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<sequence key="RabbitSeq"/>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence>
<sequence key="Sequence"/>
</faultSequence>
</target>
</proxy>
以下是顺序:
<sequence name="RabbitSeq" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
<property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="true"/>
<send>
<endpoint key="RabbitEP"/>
</send>
</sequence>
最后是端点:
<endpoint name="RabbitEP" xmlns="http://ws.apache.org/ns/synapse" scope="axis2">
<address uri="rabbitmq:/AMQPProxy?rabbitmq.exchange.name=CnqExchange&rabbitmq.queue.name=wso2&rabbitmq.queue.routing.key=emergence.wso2">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</address>
</endpoint>
我使用Integration Studio创建了所有内容,并将其部署到Enterprise Integrator。
RabbitMQ已正确安装和配置(我可以从.Net客户端使用相同的路由密钥发送到相同的交换机和队列。
我的RabbitMQ传输已在EI中配置为传输接收者和传输发送者。我遵循了这个:https://docs.wso2.com/display/ESB490/RabbitMQ+AMQP+Transport和这个:https://medium.com/@wathsalakoralege/how-to-integrate-wso2-ei-with-rabbitmq-without-passing-credentials-from-address-uri-31f2453bcf0b。
当我尝试点击代理服务器时,端点在EI中被禁用。如果进入EI中的该端点,请单击“编辑”,然后单击“测试”按钮,我将收到错误消息:主机地址格式错误。
我错过了什么吗?
感谢帮助。