Mule ESB - 如何使用 POST 方法创建 HTTP 请求(一起发送参数)

2023-12-08

简而言之:我想使用 POST 方法将几个参数(例如 user=admin、key=12345678)发布到 PHP 页面(例如 localhost/post-debug.php)。该脚本将读取 $_POST 值并执行任何操作。

我的问题是:

1. 如何让下面的例子运行起来?

2. 如何从 JSON 编码的有效负载创建带有 POST 参数的地图有效负载并将其发送到 PHP 脚本?

下面是我尝试运行的一个孤立案例(参数是从 HTTP 端点“读取”的)。我直接从浏览器调用以下 URL:

http://localhost:8081/httpPost?user=admin&key=12345678

MULE Flow

底层 XML:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd ">
    <flow name="httpPostTestFlow1" doc:name="httpPostTestFlow1">
        <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="httpPost" doc:name="HTTP"/>
            <http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/>

        <echo-component doc:name="Echo"/>
        <http:outbound-endpoint exchange-pattern="request-response" host="localhost/post-debug.php" port="80"  contentType="application/x-www-form-urlencoded" doc:name="HTTP" />
    </flow>
</mule>

我使用的是 MuleStudio 1.3.2、Mule ESB v.3.3。

我已经审查了许多类似的问题,但没有一个让我走上正轨。


这是问题2的解决方案(回答问题1没有帮助):

<flow name="httpPostTestFlow1">
    <http:inbound-endpoint exchange-pattern="request-response"
        host="localhost" port="8081" path="httpPost" />
    <json:json-to-object-transformer
        returnClass="java.util.Map" />
    <http:outbound-endpoint exchange-pattern="request-response"
        host="localhost" port="80" path="post-debug.php" method="POST"
        contentType="application/x-www-form-urlencoded" />
    <copy-properties propertyName="*" />
</flow>

我使用以下方法来检查它是否正常工作:

curl -H "Content-Type: application/json" -d '{"param1":"value1","param2":"value2"}' http://localhost:8081/httpPost

请注意,我使用copy-properties将 PHP 脚本调用的所有响应标头传播回原始调用者。如果你不介意的话就删除它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mule ESB - 如何使用 POST 方法创建 HTTP 请求(一起发送参数) 的相关文章

随机推荐

  • 为什么同步睡眠函数没有通过在 Promise 中实现异步? [复制]

    这个问题在这里已经有答案了 我正在尝试了解 Promise 以及 JavaScript 如何与其队列和事件循环等一起工作 我认为如果我将一个慢速同步函数放入一个承诺中 该慢速同步函数将被委托给后台 我可以使用 then完成后处理它 func
  • 优化(几乎最小化)jqueryui 菜单的宽度

    我有一个Jqueryui菜单这是在运行时生成的 AJAX 它是生成的 HTML is ul li li li the system li li the agenda li ul 首先 li li 是故意的行分隔符 其他列表项都包含单个单词
  • 从图像 numpy 生成一批克隆

    我有一个numpy数组 图像 称为a这个尺寸 3 128 192 现在我想创建一个 numpy 数组 其中包含n的副本a其尺寸如下 n 3 128 192 是否存在一个 numpy 函数可以在不使用循环指令的情况下帮助我解决这个问题 只需使
  • 在 iPhone 中的 Facebook 上分享捆绑包中的图像和链接

    我想从我的 iPhone 应用程序分享图像 链接等到 Facebook 我的应用程序链接 位置 名称和描述已成功发布 但我无法分享图像 请按照我的代码 UIImage image UIImage imageNamed sample png
  • 在asp.net中使用Http模块配置ETag

    我正在通过 seo 优化和 yslow 来优化我们公司的网站 但在 yslow 中 ETAGS 是 F 我浏览了数十个网站和教程 最好的选择是使用 HTTP 模块 我已经这样做并尝试了几个模块 但没有显示结果 也许语法中的某些内容是错误的
  • 对对象数组中相似的键求和

    我有一个如下所示的对象数组 name P1 value 150 name P1 value 150 name P2 value 200 name P3 value 450 我需要将同名对象的所有值相加 可能还有其他数学运算 例如计算平均值
  • FasterCSV:几个分隔符

    我的 Rails3 应用程序解析用户上传的 CSV 文件 正如预期的那样 用户上传制表符分隔和逗号分隔的文件 我想两者都支持 My code input CSV read uploaded io tempfile encoding UTF
  • 输入文本区域和输出文本区域并保存到

    我编写了一个快速 hta 以便通过按钮进行快速操作 复制到剪贴板 消息框并运行特定文件 现在我正在尝试弄清楚如何添加 2个文本框 TextArea1 在里面输入文本 提交按钮将textarea1保存到本地文件并加载到textarea2 Te
  • 有条件地设置 pandas 数据框列值

    这个问题与下面的请求完全相同 但又多了一个转折 Pandas 替换数据框中的列值 pandas 数据框列中值的条件替换 所以 我想设置或有条件地设置 pandas 数据框列值 增加的复杂性是 不是使用字符串常量来寻址数据帧列 df data
  • 在不同的工作簿中捕捉事件

    我想知道是否可以在另一个工作簿中捕捉事件 宏将打开一个工作簿供用户使用 我希望能够在其选择更改事件上运行另一个宏 不可以 代码不能存储在刚刚打开的工作簿中 除了以编程方式将代码添加到打开的工作簿中之外 还有其他方法吗 ThisWorkboo
  • 从表行发布数据,如 json 格式

    这与我上次有关question 注意 我已经在那里得到了一些很好的答案 我正在做一个可以过滤的程序 我没有包含这个问题 因为我认为只要我知道如何从行中获取数据 添加文本就更容易 但令我沮丧的是 到目前为止我还无法编写出一个好的程序 我目前使
  • 如何组合对一个函数的多次调用?

    我想概括我的函数调用 以便能够将这些调用作为参数传递给第二个函数 就我而言 我有多个 ggplots 我将其存储为列表 例如 year plots lt lapply c 2008 2009 2010 2011 2012 2013 2014
  • 将类静态成员定义放入 cpp 文件 - 技术限制?

    当用 C 编码时 我 最喜欢 的烦恼之一是在我的类中声明一些静态变量 然后查看有关未解析的静态变量的编译错误 在早期 我总是害怕它意味着什么 我的意思是经典的例子 比如 Test h class Test private static in
  • 从代码后面添加文本框服务器控件?

    我正在尝试从代码隐藏添加一个新的文本框服务器控件到我的页面 TextBox txt new TextBox txt Width 100 txt Height 100 Page Controls Add txt 当我编写以下代码时 会引发此错
  • 无法在 PHP 中刷新 OAuth2 令牌,授权无效

    我需要制作一个 PHP 脚本来在 Google 日历上创建单个事件 我在设置客户端 ID 客户端密码 开发密钥和创建新事件时没有遇到任何问题 我唯一的问题是 OAuth2 特别是我需要建立永久连接 并且我不想每次运行脚本时都进行身份验证 实
  • 正则表达式 \b 字边界不起作用

    在Android中我有下一个正则表达式 b id b 在这个查询中 即 我想完全替换单词 id SELECT schedules id as idreal FROM schedules WHERE schedules id 12 最终查询
  • 如何使标题框的宽度跨越整个绘图?

    考虑以下 pandas 系列s和情节 import pandas as pd import numpy as np s pd Series np random lognormal 001 01 100 ax s cumprod plot a
  • 在java中更新文本文件的特定部分

    在我的程序中 每次用户提款时 我都需要更新文本文件的 余额 列 我使用了 write 方法和追加方法 但没有效果 用户登录后 该特定行将存储在数组中 PIN AccountNo Balance 1598 01 10 102203 0 950
  • 将多个列表映射到字典

    我有 5 个列表 我想将它们映射到分层字典 假设我有 temp 25 25 25 25 volt 3 8 3 8 3 8 3 8 chan 1 1 6 6 rate 12 14 12 14 power 13 2 15 3 13 8 15 1
  • Mule ESB - 如何使用 POST 方法创建 HTTP 请求(一起发送参数)

    简而言之 我想使用 POST 方法将几个参数 例如 user admin key 12345678 发布到 PHP 页面 例如 localhost post debug php 该脚本将读取 POST 值并执行任何操作 我的问题是 1 如何