Несколько параметров URL-адреса с портом отправки Biztalk WCF-WebHttp

Я работаю с RESTful API в Biztalk. Мне нужно сделать POST для следующей конечной точки:

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

Я протестировал свой URL-адрес API через Postman со следующим (что работает):

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

У меня проблемы с преобразованием этого в порт отправки в моем приложении BizTalk из-за наличия нескольких параметров URL в моем POST. Когда у меня есть указанная ниже привязка в консоли администратора 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

Но он всегда работает только с одним параметром URL, а не с несколькими. Если я удалю:

&id={id}

из моей привязки проходит без всяких исключений. Как Biztalk обрабатывает несколько параметров URL?


person jackfrost5234    schedule 30.01.2018    source источник


Ответы (2)


Вы должны экранировать & в строке запроса до &amp;

So it is

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

Вам нужно экранировать знак амперсанда (&), чтобы &
URL-адрес в теге Operation должен выглядеть следующим образом

Url= "/UID?name={name}&amp;id={id}"
person Navdeep Sharma    schedule 23.02.2018