【问题标题】:Check actual URL used for request in Mule HTTP Connector检查 Mule HTTP 连接器中用于请求的实际 URL
【发布时间】:2015-07-14 23:13:08
【问题描述】:

我正在处理包含 <http:request> 元素的流程,但我不断收到意外的 404 响应。有没有办法让我检查所请求的实际 URL?

我在 Mule 中看不到任何方法可以做到这一点。我也尝试使用 Fiddler 作为代理,但对于从 Mule 开始的请求,无法在 Fiddler 中显示任何会话。

【问题讨论】:

    标签: mule


    【解决方案1】:

    你可以使用像 CharlesProxy:http://www.charlesproxy.com/ 这样的代理,但你也可以只使用 log4j。如果您尝试将此添加到您的 log4j2 配置中:

        <AsyncLogger name="org.glassfish.grizzly" level="DEBUG" />
        <AsyncLogger name="org.asynchttpclient" level="DEBUG" />
        <AsyncLogger name="com.ning.http" level="DEBUG" />
    

    对于使用 http:request 到 http://google.com 的 HTTP 请求,它会记录以下内容:

    DEBUG 2015-07-14 13:18:17,416 [[test].test.worker.01] com.ning.http.client.providers.grizzly.GrizzlyConnectionsPool:[poll] uri 没有现有队列 [@987654323 @。 调试 2015-07-14 13:18:17,449 [[test].http.requester.httprequest(1) SelectorRunner] com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider: 请求: HttpRequestPacket ( 方法=获取 网址=/ 查询=空 协议=HTTP/1.1 内容长度=-1 标头=[ 主机=google.com:80 连接=保持活动状态 接受=/ 用户代理=NING/1.0] )

    【讨论】:

    • 嗯...我将这些行添加到我的 log4j2.xml 文件中(在复制默认配置之后),但我没有像你一样在控制台中看到调试。我通过将所有其他日志级别更改为 DEBUG 并确认生成了大量日志来检查我的日志配置是否正常工作。
    • 我错过了一个抱歉。更新了我的答案 - 添加了 com.ning.http.
    • 感谢您之前的帮助。看起来 URL 是正确的,但我仍然收到意外的 404 - 你介意看看我的follow-up question 吗?谢谢。
    【解决方案2】:

    如果您使用的是 MAC,则可以尝试 Wireshark。根据我的经验,Fiddler 确实没有捕获来自 Mule 的 HTTP 请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多