403 Forbidden error Mule使用http出站端点

时间:2013-10-07 19:17:37

标签: rss mule mule-studio

我正在尝试使用Mule Studio轮询RSS源,但是使用Mule应用程序中的http outbound-endpoint轮询信息是不成功的。我以前遇到过同样的问题,使用http inbound-endpoint和同一个站点但是能够通过将用户代理分配给MuleESB来解决问题,方法是将地址设置为

http://www.theaggie.org/feed/?User-Agent=MuleESB

但是,现在使用http outbound-endpoint,我无法轮询Feed并获得403 Forbidden错误。我的XML流程是

    <flow name="aggregatorFlow1" doc:name="aggregatorFlow1">
        <poll>
            <processor-chain>
                 <set-variable variableName="httpMessages" value="#[[]]" />
                 <http:outbound-endpoint exchange-pattern="one-way" address="http://www.theaggie.org/feed/?User-Agent=MuleESB" method="GET" />
                 <expression-component>httpMessages.add(message.payloadAs(java.lang.String))</expression-component>
            </processor-chain>
        </poll>
        <logger level="INFO" message="#[httpMessages]" />
    </flow> 

如果我将交换模式更改为请求 - 响应,则记录器将只输出[]。我对使用相同xml代码的其他网站没有任何问题。

1 个答案:

答案 0 :(得分:1)

显然,exchange-pattern应为request-response,因为您似乎关心响应的有效负载。

尝试在http:outbound-endpoint之前添加以下内容:

<set-property propertyName="User-Agent" value="MuleESB" />