【问题标题】:MuleSoft anypoint-cli Error: Invalid property format, expected name:value but was {propertyName}MuleSoft anypoint-cli 错误:无效的属性格式,预期名称:值但为 {propertyName}
【发布时间】:2023-11-07 08:30:01
【问题描述】:

我正在尝试使用 PowerShell 中的 anypoint cli (anypoint-cli) 将 API 部署到 MuleSoft Cloud Hub。

当我按照下面屏幕截图中的第 93 行将名称中带有点的属性作为字符串传递时,它可以正常工作。

但是,当我将完全相同的值分配给 PowerShell 变量(第 90 行)并从变量(第 93 行)传递到任何点 cli 时,它开始给我“错误:无效的属性格式,预期的名称:值但是 crm”错误。

anypoint-cli 在属性名称(“crm.api.username”)中的 crm 之后的第一个点处抱怨 如果我从属性名称中删除所有点并将其更改为 PowerShell 变量中的 crmApiUsername 之类的内容(如下面的屏幕截图所示),它可以正常工作。当属性名称中包含点时,MuleSoft 无法处理请求。

为什么我想从变量中传递:我不想在我的脚本中硬编码属性,我想从我的发布管道传递属性。

【问题讨论】:

    标签: powershell mule mulesoft mule-esb


    【解决方案1】:

    看起来像 Powershell 语法问题,与 Anypoint CLI 无关。尝试https://*.com/a/31167398/721855中给出的解决方案:在属性前加上停止解析符号--%

    【讨论】:

    • 感谢@aled 的回复。我在 $propertiesVar 之前尝试过 --% ,但我不认为 PowerShell 正在解析 dot,它按原样将它传递给 anypoint cli,因为 anypoint-cli 现在抱怨 % 是无效选项(“无效选项:'%'”)。我也尝试过在不同的地方设置 --% 但它似乎不起作用。