다음을 통해 공유


MQSCorrelationSetOrchestrationWithSolicitResponse(BizTalk Server 샘플)

MQSCorrelationSetOrchestrationWithSolicitResponse 샘플은 BizTalk Server 대신 MQSeries 서버에서 생성된 상관 관계 식별자를 사용하는 방법을 보여 줍니다.

이 샘플의 용도

오케스트레이션은 메시지 헤더의 MQMD_MsgID 속성에 대한 빈 값이 있는 메시지를 보냅니다. MQSeries는 MessageID 및 CorrelationID를 생성하고 어댑터의 요청-응답 송신 포트에서 응답의 일부로 MQMD_MsgIDMQMD_CorrelId 할당된 값이 있는 메시지를 반환합니다. 오케스트레이션은 생성된 상관 관계 식별자를 사용하여 상관 관계 집합을 초기화하고 메시지의 MQMD_CorrelId 속성을 확인하여 후속 수신 위치의 상관 관계 집합을 따릅니다. 또한 어댑터는 BizTalk_CorrelationID 상관 관계 식별자를 할당하며, 오케스트레이션에도 사용할 수 있습니다. 어댑터와 상관 관계 식별자를 사용하는 방법에 대한 자세한 내용은 요청-회신을 사용하여 메시지 상관 관계를 참조하세요.

중요

MQSeries 서버의 메시지가 상관 관계 식별자보다 먼저 도착하는 경우 이 기술을 사용하는 오케스트레이션에 문제가 발생할 수 있습니다. 오케스트레이션을 디자인하여 MQSeries 서버가 상관 관계 식별자를 반환하는 시간이 충분한지 확인합니다. 이 예에서는 가능한 경합 상태에 대해서는 고려하지 않습니다.

이 샘플이 있는 위치

<샘플 경로>\AdaptersUsage\MQSeriesAdapter\MQSCorrelationSetOrchestrationWithSolicitResponse

다음 표는 이 샘플의 파일을 보여 주고 각각의 용도에 대해 설명합니다.

최근에 사용한 파일 설명
MQSCorrelationSolicitResponse.btproj

MQSCorrelationSolicitResponse.sln
응용 프로그램에 대한 프로젝트 및 솔루션 파일입니다.
MQSCorrelationSolicitResponse.odx 응용 프로그램에 대한 BizTalk 오케스트레이션 파일입니다.
MQSCorrelationSolicitResponse.snk 강력한 이름 지정 키 파일입니다.
Setup.bat 이 샘플을 빌드하고 초기화합니다.

이 샘플의 사용 방법

응용 프로그램을 만들려면 다음 단계를 완료해야 합니다.

  • MQSeries 쿼리를 두 개 만듭니다.

  • BizTalk Server 수신 위치 및 송신 포트를 설정합니다.

  • 수신 위치를 설정합니다.

  • 송신 포트를 시작합니다.

  • 해당 폴더를 만듭니다.

  • 오케스트레이션을 수정합니다.

  • 오케스트레이션을 배포, 바인딩 및 시작합니다.

    Windows용 MQSeries 서버 설치에 대한 필수 권한을 보유한 경우 어댑터 대화 상자를 통해 MQSeries 쿼리를 만들고 다음 절차를 건너뛸 수 있습니다. 이러한 액세스 권한이 없는 경우에는 IBM WebSphere MQ Explorer를 사용하여 큐를 만들 수 있습니다. WebSphere MQ Explorer를 통해 큐를 만들려면 다음 단계를 완료합니다.

WebSphere MQ Explorer를 통해 MQSeries 큐 만들기

WebSphere MQ Explorer를 통해 MQSeries 큐를 만들려면

  1. 시작을 클릭하고 모든 프로그램을 가리킨 다음 IBM WebSphere MQ를 가리킨 다음 WebSphere MQ Explorer 클릭합니다.

  2. 큐 관리자를 두 번 클릭한 다음 기본 큐 관리자를 두 번 클릭합니다. 기본 큐 관리자의 이름은 일반적으로 QM_<machine_name> 여기서 machine_name 컴퓨터의 이름입니다.

  3. 큐를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 로컬 큐를 클릭합니다.

  4. 로컬 큐 만들기 대화 상자의 큐 이름에 "REPLYTOQ"를 입력한 다음 확인을 클릭합니다.

  5. 큐를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 클릭한 다음 로컬 큐를 클릭합니다.

  6. 로컬 큐 만들기 대화 상자의 큐 이름에 "SOLICITRESPONSEQ"를 입력하고 확인을 클릭합니다.

수신 위치 및 MQSeries 큐 만들기

이 절차에서는 MQSeries로 메시지를 보내고 MQSeries에서 상관 관계 메시지를 수신하는 송신 포트 및 수신 위치를 만듭니다. MQSeries 큐를 아직 만들지 않은 경우 수신 위치를 만들 때 MQSeries 큐도 만들어집니다.

수신 위치와 MQSeries 큐를 만들려면

  1. BizTalk Server 관리 콘솔을 엽니다.

  2. BizTalk Server 관리를 확장하고, BizTalk 그룹을 확장하고, 애플리케이션을 확장한 다음, 필요한 애플리케이션을 확장합니다.

  3. 수신 포트를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 단방향 수신 포트를 클릭합니다.

  4. 단방향 수신 포트 속성 대화 상자의 이름 상자에 "MQReply"를 입력하고 확인을 클릭합니다.

  5. 왼쪽 창에서 수신 위치 탭을 클릭한 다음 새로 만들기를 클릭합니다.

  6. 수신 위치 속성 대화 상자의 이름 상자에 "MQReply"를 입력합니다.

  7. 전송 유형 상자에서 MQSeries를 선택합니다.

  8. 수신 처리기 상자에서 BizTalkServerApplication을 선택합니다.

  9. 수신 파이프라인 상자에서 Microsoft.BizTalk.DefaultPipelines.PassThruReceive를 선택합니다.

  10. Configure를 클릭합니다.

  11. MQSeries 전송 속성 대화 상자의 폴링 간격 상자에 "10"을 입력합니다.

  12. 큐 정의 상자에서 줄임표(...) 단추를 클릭합니다.

  13. 큐 정의 대화 상자의 서버 이름 상자에 컴퓨터 이름을 입력합니다.

  14. 큐 관리자 상자에서 기본 큐 관리자를 선택합니다.

  15. 상자에 "REPLYTOQ"를 입력한 다음 내보내기를 클릭합니다.

  16. 내보내기 대화 상자에서 큐 만들기를 클릭한 다음 모든 대화 상자를 종료할 때까지확인또는 완료를 클릭합니다.

송신 포트 및 MQSeries 큐 만들기

송신 포트 및 MQSeries 큐를 만들려면

  1. 포트 보내기를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 정적 단방향 송신 포트를 클릭합니다.

  2. 송신 포트 속성 대화 상자의 이름 상자에 "MQSolicitResponse"를 입력합니다.

  3. 전송 유형 상자에서 MQSeries를 선택합니다.

  4. 송신 파이프라인 상자에서 Microsoft.BizTalk.DefaultPipelines.PassThruTransmit를 선택합니다.

  5. 수신 파이프라인 상자에서 Microsoft.BizTalk.DefaultPipelines.PassThruReceive를 선택합니다.

  6. Configure를 클릭합니다.

  7. MQSeries 전송 속성 대화 상자의 큐 정의 상자에서 줄임표(...) 단추를 클릭합니다.

  8. 큐 정의 대화 상자의 서버 이름 상자에 컴퓨터 이름을 입력합니다.

  9. 큐 관리자 상자에서 기본 큐 관리자를 선택합니다.

  10. 상자에 "SOLICITRESPONSEQ"를 입력하고 내보내기를 클릭합니다.

  11. 내보내기 대화 상자에서 큐 만들기를 클릭한 다음 모든 대화 상자를 종료할 때까지 확인 또는 완료 를 클릭합니다.

수신 위치를 사용하도록 설정하고 송신 포트 시작

이 절차에서는 파일을 오케스트레이션에서 수신하고 상관 관계가 지정된 메시지와 응답 메시지를 출력 폴더로 보내는 데 필요한 폴더를 만듭니다.

수신 위치를 사용하도록 설정하고 송신 포트를 시작하려면

  1. BizTalk Server 관리 콘솔에서 수신 포트를 클릭합니다.

  2. 세부 정보 창에서 MQIn 수신 위치를 마우스 오른쪽 단추로 클릭하고 사용을 클릭합니다.

  3. 세부 정보 창에서 MQOut 송신 포트를 마우스 오른쪽 단추로 클릭하고 시작을 클릭합니다.

응용 프로그램에서 사용하는 폴더 만들기

응용 프로그램에서 사용하는 폴더를 만들려면

  1. 폴더가 아직 없으면 이름이 "temp"인 폴더를 C:\ 드라이브에 만듭니다.

  2. "Pickup2", "Dropit2" 및 "MoveIt"라는 C:\temp 디렉터리 아래에 폴더를 만듭니다.

응용 프로그램에서 사용하는 오케스트레이션 수정

이 절차에서는 응용 프로그램에서 사용하는 오케스트레이션을 수정합니다.

애플리케이션에서 사용하는 오케스트레이션을 수정하려면 다음을 수행합니다.

  1. Microsoft Visual Studio에서 솔루션 파일 MQSCorrelationSolicitResponse.sln을 두 번 클릭하여 솔루션을 엽니다.

  2. 솔루션 탐색기 창에서 오케스트레이션 MQSCorrelationSolicitResponse.odx를 두 번 클릭하여 오케스트레이션을 봅니다.

  3. 메시지 할당 셰이프 MessageAssignment_1 두 번 클릭하여 BizTalk 식 편집기를 시작합니다.

  4. 다음 식에 적절한 MQSeries 큐 관리자 이름을 입력합니다.

    MQSeriesRequestSendMessage(MQSeries.MQMD_ReplyToQMgr) = "QM_<machine_name>";

  5. BizTalk에서 전송된 응답 메시지에 처음 100바이트만 포함하지 않고 원본 메시지의 전체 내용을 포함하려면 BizTalk 식 편집기에서 다음 줄을 수정합니다.

    • 원래 줄:

      MQSeriesRequestSendMessage(MQSeries.MQMD_Report) = 768;

    • 변경 대상:

      MQSeriesRequestSendMessage(MQSeries.MQMD_Report) = 1792;

  6. BizTalk 식 편집기에서 확인을 클릭하여 수정된 식을 저장합니다.

  7. Visual Studio에서 파일을 선택한 다음 모두 저장을 선택합니다.

샘플 빌드 및 배포

이 절차에서는 이 응용 프로그램에서 사용하는 오케스트레이션이 포함된 솔루션을 빌드 및 배포합니다.

솔루션을 빌드 및 배포하려면

  1. 명령 창에서 다음 폴더로 이동합니다.

    <Samples Path>\AdaptersUsage\MQSeriesAdapter\MQSCorrelationSetOrchestrationWithSolicitResponse

  2. 다음 작업을 수행하는 Setup.bat 파일을 실행합니다.

    1. 프로젝트에 대한 강력한 이름 키를 만듭니다.

    2. 오케스트레이션 프로젝트를 컴파일하여 배포합니다.

    3. 파일 어댑터로 송신 포트와 수신 포트를 만듭니다.

    참고

    이 오케스트레이션에서 파일 어댑터를 사용하여 파일을 받고 보내는 데 필요한 바인딩을 지정하므로 오케스트레이션을 배포할 경우 오케스트레이션에서 파일을 받고 상관 관계 메시지와 응답 메시지를 출력하는 데 필요한 송신 포트, 수신 포트 및 수신 위치가 만들어집니다.

오케스트레이션 바인딩 및 시작

이 절차에서는 오케스트레이션을 호스트와 적절한 송신 포트 및 수신 위치에 바인딩합니다.

오케스트레이션을 바인딩 및 시작하려면

  1. BizTalk Server 관리 콘솔에서 Orchestrations 폴더를 확장합니다.

  2. 세부 정보 창에서 MQSCorrelationSolicitResponse 오케스트레이션을 마우스 오른쪽 단추로 클릭하고 바인딩을 클릭합니다.

  3. 다음 송신 포트 및 수신 위치에 오케스트레이션 포트를 바인딩합니다.

    오케스트레이션 포트 메시징 포트/수신 위치
    FileReceivePort MQSCorrelationSolicitResponse.Orchestration.FileReceivePort
    MQSeriesResponseReceivePort MQReply
    SolicitResponsePort MQSolicitResponse
    TempPort MQSCorrelationSolicitResponse.Orchestration.TempPort
    FileSendPort MQSCorrelationSolicitResponse.Orchestration.FileSendPort
  4. 호스트를 클릭합니다.

  5. 호스트 상자에서 BizTalkServerApplication을 선택하고 확인을 클릭합니다.

  6. 송신 포트에서 MQSCorrelationSolicitResponse.Orchestration.TempPort를 마우스 오른쪽 단추로 클릭한 다음 시작을 선택합니다.

  7. 송신 포트에서 MQSCorrelationSolicitResponse.Orchestration.FileSendPort를 마우스 오른쪽 단추로 클릭한 다음 시작을 선택합니다.

  8. 수신 위치에서MQSCorrelationSolicitResponse.Orchestration.FileReceivePort를 마우스 오른쪽 단추로 클릭한 다음 사용을 선택합니다.

  9. 오케스트레이션을 마우스 오른쪽 단추로 클릭하고 시작을 클릭합니다.

    참고

    오케스트레이션을 시작하면 오케스트레이션이 자동으로 등록됩니다.

애플리케이션 테스트

이 절차에서는 응용 프로그램을 테스트합니다.

애플리케이션을 테스트하려면

  1. C:\Temp\Pickup2 폴더에 파일을 넣습니다.

  2. C:\Temp\Dropit2 폴더 및 C:\Temp\Moveit폴더의 파일을 검사합니다.

    • C:\Temp\Dropit2 폴더에는 BizTalk Server 원래 선택한 메시지의 복사본이 포함되어야 합니다.

    • C:\Temp\Moveit폴더에는 메시지 식별자(MQMD_MsgId) 및 상관 관계 식별자(MQMD_CorrelId)가 있는 응답 문서가 포함되어야 합니다.

    참고

    MQReply 수신 위치를 사용하지 않도록 설정하면 WebSphere MQ Explorer 메시지를 검사하고 메시지 및 상관 관계 식별자가 설정되어 있는지 확인할 수 있습니다. 이렇게 하려면 WebSphere MQ Explorer 시작하고 REPLYTOQ 큐에 배치된 메시지를 검사합니다. 메시지 및 상관 관계 식별자는 메시지속성 대화 상자의 식별자 탭에 표시됩니다.

참고 항목

요청-응답을 사용하여 메시지 상관 관계 지정
MQSeries 어댑터 샘플