2012-05-23 7 views
2

biztalk 2009를 인터페이스 엔진으로 사용하는 표준 양방향 인터페이스가 있습니다. MSH.7에서 밀리 세컨드 (milliseconds)의 날짜 시간을 보내는 경우를 제외하고는 파싱을 수행하는 주문 메시지를받는 중입니다. 3 개의 추가 숫자로 인해 데이터 유형 오류로 인해 실패합니다. MSH.7에서 3 개의 추가 번호를 제거하면 메시지가 제대로 처리됩니다.Biztalk 2009 MSH-7 (메시지의 날짜/시간)을 밀리 초로 지정하면 메시지를 구문 분석 할 수 없습니다.

복잡성 계층을 추가하기 위해이 게시물 (http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/d65bf4de-a3dd-47f3-babe-a82bdc260291/)을 발견했으며 문제를 설명하고이를 해결하기 위해 MSH 스키마를 변경할 수 있다고 제안합니다. 나는 그것을했으며, 결과 메시지를 처리 ​​할 수있는 곳에서 작동했으며, 모든 것이 잘 작동하고있는 것처럼 보였습니다. 그러나 ACK를 생성하려고 시도하면 완전히 실패합니다. 나는 일괄 처리에 대해 비슷한 문제가있을 수 있다고 생각하지만 그렇게까지는 가지지 못했습니다. MSH 스키마를 변경하면 MSH 헤더에 예기치 않은 양식이 있기 때문에 내장 된 ACK 기능이 더 이상 작동하지 않습니다.

나는 아이디어가 부족하기 시작했고 여기에 게시하려고한다고 생각했다. 여행에 많은 답변을 찾았 기 때문이다. 가장 이상한 부분은 MSH.7이 MSH 스키마의 문자열로 정의되어 있으므로이 필드에서 어떤 항목이 전달되는지는 중요하지 않은 것처럼 보입니다.

+0

HL7 v2.4에서 MSH7은 실제로 ** TS ** 형식으로 정의되며 사용자가 말한대로 문자열이 아닙니다. TS는 타임 스탬프이며 특정 형식을가집니다. * YYYY [MM [DD [HHMM [SS [S [S]]]]]] [+/- ZZZZ]^<정밀도> * –

+0

이전 버전 2.x와 역 호환되므로 HL7 v2.5 MSH 헤더를 사용하고 있습니다. – PlexDM

답변

0

스키마를 변경하는 대신 코드를 변환에 추가하고 문제가되는 밀리 초를 제거 할 수 있습니다. 시간 소인/날짜를 처리 할 때 이것은 많이 발생합니다.