2014-10-08 6 views
-1

웹 서비스에 HL7 메시지를 보내야합니다. 저장 프로 시저의 세그먼트 종결 자로 CHAR (13) (캐리지 리턴 또는 \ r)을 추가하고 HL7 메시지를 보내기 위해 웹 서비스를 호출합니다. 서비스가 내 세그먼트 터미네이터에 여분의 CHAR (10) (라인 피드 또는 \ n)을 추가한다는 메시지를 수신하면. 내 값으로 보았습니다 그리고 그것을 보내기 전에 단지 세그먼트 종결 자로 \ r있다. 서비스가 여분의 \ n없이 \ r로만 수신되는지 확인하는 방법. 나는 주변을 둘러 보았지만 지금까지 어떤 해결책도 찾지 못했습니다.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를보고 메시지가 16 진수 0D (캐리지 리턴)로 전송되었지만 서비스로 읽히기 전에 16 진수 0A (줄 바꿈)로 변경되었습니다. 서비스와 응용 프로그램 계층 사이에 캐시에 저장되며 읽기 캐시 일 때 캐리지 리턴을 줄 바꿈으로 변경합니다. 나는 그것이 변하지 않으므로 내가 무엇을 통과해야하는지 확신하지 못한다. HL7 메시지를 반환하는 내 SQL 저장 프로 시저에서 CHAR (13) 대신 " "을 최근에 시도했습니다. 지금까지 성공하지 못했습니다. – user4122359

0

여러 가지 방법으로 메시지를 보았습니다. \ r, \ n 또한 콤보 2입니다.

처리의 다른 단계에서 실제로 읽을 수있는 곳으로 메시지를 리디렉션하려고 했습니까? 그것은 어딘가에서 바뀌고 있고 다른 단계에서 그것을 읽는 것은 나를 위해 오류를 잡았습니다. 또는 아래의 일련의 단계 만 다른 단계에서 수행 할 수 있습니다.

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