【问题标题】:How to configure Mule CE to send HTTP request through corporate proxy?如何配置 Mule CE 通过企业代理发送 HTTP 请求?
【发布时间】:2012-02-09 00:32:36
【问题描述】:

我正在学习 Mule ESB CE。我正在尝试第一个示例,Google 拼写检查器。一切似乎都很好,除了 HTTP 请求不能通过公司代理(或者我认为)。我收到此错误:

Exception stack is:
1. connect timed out (java.net.SocketTimeoutException)
  java.net.DualStackPlainSocketImpl:-2 (null)
2. The host did not accept the connection within timeout of 10000 ms (org.apache.commons.httpclient.ConnectTimeoutException)
  org.apache.commons.httpclient.protocol.ReflectionSocketFactory:155 (null)
3. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=http://www.google.com:80/tbproxy/spell?lang=en, connector=HttpConnector

Mule Studio 中的代理设置似乎没问题,它使用了 Windows 7 的代理设置;我可以尝试运行更新或安装新软件,它可以连接到 Mule 网站。当我从浏览器访问 Google 拼写检查器 URL 时,会收到正确的消息(错误,但这是预期的)。

我没有看到在 HTTP 端点设置中配置代理的方法。

所以,我唯一可以怀疑的是 Mule 引擎的代理设置。我是否正确假设这一点?如果是,我该如何设置代理?如果没有,我需要做什么?

谢谢!

【问题讨论】:

    标签: esb mule


    【解决方案1】:

    代理参数在http:connector元素上配置,如HTTP transport configuration reference所示。

    【讨论】:

    • 谢谢!我尝试创建一个 http:connector,但似乎无法通过拖放方式进行;我需要直接编辑 XML 文件。当我切换回可视化表示时,http:connector 显示为带有问号的灰色方块。当我尝试执行流程时,它失败了,并抱怨发现了无效的内容,它期待着别的东西。我将 http:connector 放在 http:outbound-endpoint 之后。我应该如何使用 http:connector?再次感谢。
    • 只需将 http:connector 作为 mule 配置根节点的直接子节点。我通常将连接器放在全局端点和流之上。关于这个特定元素的 Studio 处理:我不知道,我用 XML 编辑器编辑我的 Mule 配置:)
    • 谢谢,它就像魅力一样。我发现了如何直观地添加 http:connector:编辑器中有一个 Global Elements 选项卡。直接编辑 XML 是一种很好的、​​勇敢的行为;我还没有获得这样做的许可。 :-)
    • 什么是 api url SOAP 和 REST 用于在 mule 服务中实现拼写检查器/校正器。
    最近更新 更多