如何将连接器添加到rest-service-component

时间:2014-02-26 13:32:34

标签: rest mule

在我的Mule 2.X配置中,我需要将消息作为URL参数发布。因此,我创建了一个具有入站的服务,然后尝试使用rest-service-component发送消息,如下所示:

<service name="myService">
    <inbound>
        <vm:inbound-endpoint path="path/inbound" synchronous="true" connector-ref="myVmConnector"/>
    </inbound>
    <http:rest-service-component serviceUrl="http://www.domain.com/path/insert.asp" httpMethod="POST">
        <http:payloadParameterName value="data_xml"/>
    </http:rest-service-component>
</service>

但是当我通过它处理消息时,我收到以下信息:

Message               : There are at least 2 connectors matching protocol "http", so the connector to use must be specified on the endpoint using the 'connector' property/attribute (java.lang.IllegalStateException)
Type                  : org.mule.transport.service.TransportFactoryException
Code                  : MULE_ERROR--2
http://www.mulesource.org/docs/site/current2/apidocs/org/mule/transport/service/TransportFactoryException.html

通常,如果配置了多个HTTP连接器,然后需要在端点(connector-ref)上指定连接器,则会发生此错误。但是rest-service-component没有这样的属性或子元素(http://www.mulesoft.org/documentation-3.2/display/MULE2USER/HTTP+Transport

1 个答案:

答案 0 :(得分:1)

这是一个尚未解决的非常老的错误:

https://www.mulesoft.org/jira/browse/MULE-4272

尝试使用http:outbound-endpoint。

更新:

尝试使用Groovy脚本组件代替其余组件来创建对Mule 2中的动态URL的调用。这样的事情可能有用:

eventContext.sendEvent(message,"http://www.domain.com/path/insert.asp?data_xml=${payload}")

根据您的有效负载,您可能还必须对其进行URL编码。