Biztalk WCF-WebHttp 发送端口的多个 URL 参数

Multiple URL Parameters with Biztalk WCF-WebHttp Send Port

我正在使用 Biztalk 中的 RESTful API。我需要针对以下端点创建 POST:

http://mycompany.sb01.com/atwork/api/v5.0

我已经通过 Postman 测试了我的 API Url(有效):

http://mycompany.sb01.com/atwork/api/v5.0/UID?name=bob&id=028153

由于我的 POST 中有多个 URL 参数,我无法将其转换为我的 BizTalk 应用程序中的发送端口。当我在 Biztalk 管理控制台中进行以下绑定时,我得到一个 System.ArgumentException,它告诉我“=”是一个意外的标记,预期的标记是“;”。

<BtsHttpUrlMapping>
<Operation Name="ID Insert" Method="POST" Url= "/UID?name={name}&id={id}"/>
</BtsHttpUrlMapping>

我已经尝试按照此处的 msdn 文档进行操作: https://msdn.microsoft.com/en-us/library/jj572853.aspx

但它只适用于 1 个 URL 参数,而不适用于多个参数。如果我删除:

&id={id}

从我的绑定来看,它毫无例外地通过了。 Biztalk 如何处理多个 URL 参数?

您必须将查询字符串中的 & 转义为 &amp;

原来如此

<BtsHttpUrlMapping>
    <Operation Name="ID Insert" Method="POST" Url= "/UID?name={name}&amp;id={id}"/>
</BtsHttpUrlMapping>

您需要将符号 (&) 转义为 &
Url 在 Operation 标签中应该如下所示

Url= "/UID?name={name}&amp;id={id}"