【问题标题】:Least mods needed to replace Mule HTTP endpoint based connectors deprecated in Mule 3.6替换 Mule 3.6 中已弃用的基于 Mule HTTP 端点的连接器所需的最少 mods
【发布时间】:2015-05-02 21:04:24
【问题描述】:

我们托管了许多 Mule 流,我们通过我们的 Intranet Apache/PHP 服务器调用这些流,我们专门将其与 Mule ESB 结合使用。通常,对于这些流程,我会通过一个 HTML 表单 POST 到我的 Mule ESB 服务器/端口/路径调用 Mule 流程,以开始 Mule 流程的启动。

在 Mule 流程中,我将简单地将数据以 JSON 格式写入 RDBMS,然后使用 HTTP 响应构建器重定向回复来完成流程,而不是涉及使用 Mule 创建 http 输出/结合数据的输出阶段到不同的 url 和查询字符串(但仍托管在我开始使用的同一 Apache/PHP 服务器上),还使用重定向 30x 来调用 HTTP 响应生成器中的 PHP 代码。

在 3.6 中弃用了 HTTP 响应生成器后,如果不使用新的编码来用新的 3.6 基于 HTTP 操作的连接器替换 HTTP 响应生成器 30x 重定向,那么最直接的方法是什么?真的像http://www.mulesoft.org/documentation/display/current/Migrating+to+the+New+HTTP+Connector 中描述的设置 followRedirects 属性一样简单吗?

【问题讨论】:

  • @david dossot:嗨,David,您是否提出了 3.6 并使用了新的端点连接器?如果是这样,您对我的上述问题有何评论?目前我们保持在 3.5,同时获得许可以添加更多测试实例,所以我自己无法尝试。非常感谢:-)

标签: mule


【解决方案1】:

我遇到了类似的问题,并且能够使用另一篇文章中已经建议的代理模式在新的 HTTP lsitener/requester (Mule 3.7.0) 中复制现已弃用的响应构建器的相同行为:

How to implement Mule HTTP GET Method redirect?

执行此操作的步骤是:

1) 定义代理模式:

1.1) 入站地址为http://localhost:8082/proxy, 1.2) outbound 是远程 Web 服务的地址 1.3)在代理上设置一个transformer-ref以返回一个'java.util.HashMap()'类型的对象(在我的例子中,这是空的,因为请求数据在URI参数中)

2) 创建一个带有 http 侦听器的流来接受请求,并且 http 请求者的地址与代理入站相同

此处示例的代码 sn-p:

<pattern:http-proxy name="http-proxy-sample" transformer-refs="str2map"
    inboundAddress="http://localhost:8082/proxy"
    outboundAddress="https://example.com" />

<expression-transformer expression="#[new java.util.HashMap()]" name="str2map"  doc:name="Expression"/>


<flow name="redirect">
    <http:listener config-ref="HTTP_Listener_Configuration"
        path="/redirectMe" allowedMethods="GET" doc:name="HTTP">
    </http:listener>


    <http:request config-ref="HTTP_Request_Configuration2"
        path="/proxy" method="GET" doc:name="HTTP">
    </http:request>
</flow>

HTH。

【讨论】:

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