您的浏览器发送了一条请求,说明此服务器无法理解Mule ESB的错误

时间:2015-01-12 11:28:00

标签: mule mule-studio mule-el mule-component

我有一个非常简单的流程如下:

 QUEUE ---> DATAMAPPER----> Consume Service(HTTP) ---> Logger( #[payload], #[message.inboundPropeties.['http.status']].

队列将有多条消息。一旦我启动了mule服务器,前几条消息就会得到一个成功的响应(状态码200)。

毕竟,我通过'statusCode''400'获得了以下错误。有没有人知道如何解决问题

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
        <html><head>
      <title>400 Bad Request</title>
        </head><body>
        <h1>Bad Request</h1>
       <p>Your browser sent a request that this server could not understand.<br />
       Size of a request header field exceeds server limit.<br />
       <pre>
         X-MULE_SESSION
       </pre>
        </p>
        </body></html>

我已经提到了这个网址:Bad Request, Your browser sent a request that this server could not understand。我相信必须删除一些cookie。我不知道我怎么能从Mule结束。

任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:3)

看起来您的会话太大而无法作为http标头发送。如果你真的需要传播你的会话,你需要把它缩小(如果你有一些东西非常通过用gzip压缩它?)。或者设置以下连接器配置:

<http:connector name="sessionlessConnector">
    <service-overrides sessionHandler="org.mule.session.NullSessionHandler"/>
</http:connector>

或删除禁用内部变换器的属性,如下所述:

http://forum.mulesoft.org/mulesoft/topics/how_to_remove_the_mule_session_header_from_a_http_request

答案 1 :(得分:0)

我已经提到了这个网址。它工作正常。 http://forum.mulesoft.org/mulesoft/topics/how_to_remove_the_mule_session_header_from_a_http_request

 <http:connector name="NoSessionConnector">
   <service-overrides
 sessionHandler="org.mule.session.NullSessionHandler"/>
 </http:connector>

需要在HTTP otbound中引用上述连接器

       <http:outbound-endpoint exchange-pattern="request-response" method="POST"   keepAlive="true" doc:name="HTTP" address="..." connector-ref="NoSessionConnector">
        <set-property propertyName="Content-Type" value="application/xml"/>
    </http:outbound-endpoint>

谢谢@Victor帮我解决了这个问题。