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

时间:2018-01-30 21:27:33

标签: wcf biztalk biztalk-2013

我正在使用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参数?

2 个答案:

答案 0 :(得分:4)

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

所以它是

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

答案 1 :(得分:0)

你需要将&符号(&amp;)转义为&amp;
操作标记中的网址应如下所示

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