Azure Service Bus Queue предоставляет контрольные символы в извлеченном сообщении - PullRequest
0 голосов
/ 07 декабря 2018

Я использую адаптер обмена сообщениями BizTalk Server SB для получения сообщений из очереди служебной шины Azure.Мне удалось отправить сообщение в очередь самостоятельно (используя тот же адаптер), получить сообщение из очереди и выполнить дальнейшую обработку.

Проблема возникает, когда сторонний поставщик программного обеспечения отправляет сообщения в очередь и для BizTalkСервер для получения и обработки сообщения.Затем в начале сообщения я получаю следующие дополнительные «заголовочные» информационные и управляющие символы:

Message header including control characters, ACK, BS and SOH

В тексте: @ ACKstringBS http://schemas.microsoft.com/2003/10/Serialization/?$SOH

Похоже, что имеется какое-то конвертированное сообщение, включая заголовки для обработки подтверждения сообщения в очередь.

Адаптер SB-Messaging выдал следующее первоначальное сообщение об ошибке:

«Произошел сбой узла службы WCF по адресу, и в результате больше невозможно получить сообщения в соответствующем месте приема. Чтобы устранить эту проблему, BizTalk Server автоматически попытается перезапустить узел службы.»

И еще одно сообщение об ошибке:

«Компоненты стадии« Не разбирать »не могут распознать данные».

Кто-нибудь сталкивался с этой проблемой раньше и, в чем может быть причинапроблемы?Может ли кодировка символов быть возможной причиной этой проблемы?

1 Ответ

0 голосов
/ 24 января 2019

А вот и обратная связь!

Оказалось, что сторонний поставщик программного обеспечения имеет настройку для отправки сообщения в виде потока, а не строки.Оказывается, это приложение .Net, использующее объект BrokeredMessage.Использование строки делает сообщение сериализованным, а метаданные добавляются в сообщение.При использовании потока такая сериализация не выполняется, а сообщение остается нетронутым.

Итак, проблема заключалась в использовании строки и автоматической сериализации при отправке в очередь шины обслуживания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...