Повторный вызов для удаления azure сообщения из очереди хранения с символом «+» во всплывающем окне завершается неудачно - PullRequest
0 голосов
/ 24 марта 2020

Все вызовы удаления REST с символом «+» во всплывающем сообщении завершаются ошибкой:

URL-адрес запроса: https://myaccnt.queue.core.windows.net/myq/messages/mymsg?popreceipt=AgAAAAMAAAAAAAAAW3Dka+IB1gE= Метод запроса: УДАЛИТЬ Код состояния: 400 Значение для одного из параметров запроса, указанных в URI запроса неверен.

НО

Все вызовы удаления REST без символа '+' в наборе успешно завершены:

URL-адрес запроса: https://myaccnt.queue.core.windows.net/myq/messages/mymsg?popreceipt=AgAAAAMAAAAAAAAA3eUEweIB1gE= Метод запроса: УДАЛИТЬ Код состояния: 204 Нет содержимого

1 Ответ

0 голосов
/ 24 марта 2020

Поскольку символ + является зарезервированным символом URL, вам нужно будет URL кодировать его. Вместо AgAAAAMAAAAAAAAAW3Dka+IB1gE=, попробуйте передать AgAAAAMAAAAAAAAAW3Dka%2BIB1gE%3D в строке запроса.

Когда вы передаете AgAAAAMAAAAAAAAAW3Dka+IB1gE= в строке запроса, она принимается как AgAAAAMAAAAAAAAAW3Dka IB1gE= (знак + преобразуется в пробел ) и это приводит к несовпадению квитанции, что приводит к ошибке.

...