Biztalk: BTAHL72XSendPipeline добавляет перевод строки? - PullRequest
1 голос
/ 03 апреля 2020

Я использую библиотеку BTAHL72XSendPipeline из ускорительной библиотеки Microsoft HL7 в моем порту отправки Biztalk для сборки и отправки сообщения HL7.

Работает хорошо, но фактическое сообщение HL7 содержит как перевод строки, так и возврат каретки после каждой строки. Другими словами, я вижу \ r \ n после каждого завершения сегмента, у меня нет кода, чтобы добавить их, поэтому я предполагаю, что это делается самой BTAHL72XSendPipeline.

enter image description here

Наш клиент не хочет перевода строки, есть ли способ контролировать это, чтобы каждая строка имела только возврат каретки вместо обоих? Я не понимаю, как я могу сделать это в конфигурации конвейера.

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

Согласно HL7 Health Standard , терминатор сегмента должен содержать только возврат каретки (ASCII 13 или HEX OD). Согласно этому стандарту, это правило не подлежит обсуждению.

Я также натолкнулся на книгу в формате PDF "HL7 for Biztalk", написанную Говардом Эдидином, в которой говорится:

enter image description here

Так что теперь, если мой сервер основан на окне, а сервер, на который я отправляю это, Unix, как мы можем разрешить этот перевод строки?

1 Ответ

2 голосов
/ 03 апреля 2020

По умолчанию конвейер отправки BizTalk использует 'CR' (\ r) в качестве символа разделителя сегментов. Поведение конвейера отправки BizTalk можно изменить для разделителя сегментов, используя следующее свойство контекста.

SegmentDelimiter2Char   True    Not Promoted    http://HL7Schemas.HeaderPropertySchema

Существует два сценария ios

  1. Вы получаете HL7 из некоторого источника, а затем отправив его куда-то еще. Если вы разобрали это сообщение, свойство контекста заполняется на основе разделителя сегментов в исходном HL7, и сообщение генерируется соответствующим конвейером отправки.
  2. Если вы создаете HL7 с использованием схем и затем отправляете в конвейер, убедитесь, что этот контекст свойство не добавляется, и если оно добавлено, его значение должно быть установлено в false.
...