0

받은 메시지의 타임 스탬프를 검색하는 방법을 파악할 수 없습니다. 메시지가 수신 된 시간에 따라 두 개의 다른 전송 포트로 전자 메일을 보내야합니다. 어떻게 동적으로 메시지를 보낼 수 있는지 알지만, 도착한 시간을 기준으로 어떻게 결정할 수 있습니까?받은 메시지의 타임 스탬프 검색

아무도 도와 줄 수 있습니까? 고마워. 당신이 파일 어댑터가 설정 한 FileCreationTime 속성을 가지고, 파일 어댑터를 사용

:

+0

어떤 어댑터를 사용하고 있습니까? 어댑터에 따라 파일/msg을 수신 할 때 다른 등록 정보가 설정 될 수 있습니다. –

+0

수신 측에서 파일 어댑터 사용 – xyz

답변

1

파일 어댑터를 사용하고 있으므로 속성 인 http://schemas.microsoft.com/BizTalk/2003/file-properties 네임 스페이스를 읽을 수 있습니다. 이 속성은 파일이 이고 어댑터가 모니터링하는 파일 위치에을 만들었을 때 DateTime을 유지합니다. 당신이 가 BizTalk에을 수신 한 메시지의 날짜 시간을하려는 경우

, 당신은 http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties 이름 공간의 AdapterReceiveCompleteTime를 사용해야합니다.

enter image description here

+0

어떻게 AdapterReceiveCompleteTime 시간과 함께 오전 7.00 말할 수 비교할 수 있습니다. 송신 포트 또는 오케스트레이션에 있어야합니다. – xyz

+0

파이프 라인 또는 오케스트레이션에서이 속성을 읽을 수 있습니다. msg_MyMessage (MessageTracking.AdapterReceiveCompleteTime) –

+0

Rule 아래 오케스트레이션 모양을 결정할 때이 RM을 사용했습니다 (MessageTracking.AdapterReceiveCompleteTime) == 07:00:00; 오류가 발생했습니다. – xyz

1

몇 가지 옵션이 있습니다. 이것은 수신의 타임 스탬프가 아니지만 원인에 충분할 수 있습니다.

enter image description here

당신이 파일을 받았을 때 정확한 타임 스탬프를해야하는 경우 중 하나를 사용자 지정 파이프 라인 구성 요소 만들어야합니다 :

  • 어딘가에 메시지에
  • 을 포함을 또는 DateTime.Now를 사용하여 메시지의 컨텍스트에서 속성을 작성/승격시킵니다.

그런 다음 매핑이나 콘텐츠 기반 라우팅에서 사용할 수 있습니다.

나는 이것이 귀하의 선택이라고 생각합니다.

+0

Pieter Vandenheede 어떻게 FileCreationTime과 7.00 am을 비교할 수 있습니까? 그것은 송신 포트 또는 오케스트레이션을 통해 – xyz