2014-10-08 2 views
-1

Мне нужно отправить сообщение HL7 на веб-службу. Я добавляю CHAR (13) (возврат каретки или \ r) в качестве терминатора сегмента в хранимой процедуре и вызывая веб-службу для отправки сообщения HL7. Когда служба получает сообщение, они говорят, что добавляю дополнительные CHAR (10) (line feed или \ n) в своих терминаторах сегментов. Я заглянул в мои ценности, и перед отправкой он имеет только \ r в качестве терминаторов сегментов. Как убедиться, что служба также получает его как только \ r без дополнительного \ n. Я осмотрелся, но пока не нашел решения.HL7 Терминатор сообщений

+0

Вы можете уточнить Лил немного больше, какие веб-службы, вы проверили полученное сообщение тоже, кто они (говорят)? – sqlab

+0

Я бы определенно посмотрел, смогут ли они получить MLLP. Это гарантирует, что любые окончания сообщений будут разрешены. http://www.hl7standards.com/blog/2007/05/02/hl7-mlp-minimum-layer-protocol-defined/ – cloyd800

+0

Возможно, это не отдельный сегмент, а то, что ваш язык программирования или рамки добавляется в конце сообщения после вашего последнего сегмента? – SixOThree

ответ

1

Вы просмотрели сообщение в Fiddler или TCP Spy в зависимости от того, как вы отправляете свое сообщение? Он, по крайней мере, докажет, что вы предоставляете что-либо иное, кроме/r

+0

Я смотрел в Fiddler, и сообщение отправлялось как hex 0D (возврат каретки), но оно менялось на hex 0A (линия), прежде чем оно будет прочитано службой. В промежутке между слоем службы и приложения он хранится в кеше, и когда он считывает кеш, каретки возвращаются в фид строки. Я не уверен, что должен пройти, чтобы он не менял. Я попытался « » в последнее время вместо CHAR (13) в моей хранимой процедуре SQL, которая возвращает сообщение HL7. Пока нет успеха. – user4122359

0

Я был пойман сообщениями, имеющими несколько способов разбить линию. \ r, \ n, а также комбо 2.

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

content = hl7message.read() if "\n" in content: print "ERROR"

Смежные вопросы