SOAP에 대한 웹 서비스 커넥터 워크플로 가이드
이 문서에서는 웹 서비스 구성 도구에서 데이터 원본에 대한 새 프로젝트를 만드는 방법을 설명합니다. 다음 단계에 따라 프로젝트를 만듭니다.
웹 서비스 구성 도구를 엽니다. 빈 프로젝트가 열립니다.
SOAP 프로젝트를 선택한 다음, 추가를 선택합니다.
다음 페이지에서 다음 정보를 입력한 다음, 다음을 선택합니다.
- 새 웹 서비스 이름
- 노출된 서비스, 엔드포인트 및 작업을 검색하는 주소(WSDL 경로)
- 네임스페이스
- 보안 모드(인증 유형)
이 샘플에서는 기본 보안 모드(이전 단계에서 선택한 모드)에 대한 요구 사항과 함께 자격 증명 페이지가 표시됩니다. 보안 모드에 대해 "None"을 지정한 경우 자격 증명 페이지가 표시되지 않습니다. 다음을 선택합니다.
WSDL 경로에 액세스하여 서비스 정보를 검색하고 노출된 함수 목록이 표시됩니다. 입력한 WSDL 경로가 올바르지 않으면 구성 도구가 서비스 정보를 검색하지 못하고 오류가 발생합니다.
검색이 수행되면 검색된 엔드포인트 및 작업을 나열합니다. 마침을 선택합니다.
컴파일이 수행됩니다. 컴파일은 시간이 오래 걸리는 작업일 수 있는 데이터 계약 어셈블리를 컴파일하는 프로세스입니다. 사용자에게 컴파일 오류에 대한 정보가 표시됩니다. 검색이 수행되면 도구에 다음 페이지가 표시됩니다.
SOAP 프로젝트를 확장하고 아래 화면에 제공된 노출된 엔드포인트를 선택합니다. 이 화면에는 엔드포인트에서 선언된 작업이 나열됩니다.
엔드포인트를 확장하면 작업 목록이 표시됩니다. 작업은 엔드포인트에서 선언한 함수입니다. 각 작업은 서비스 내에서 수행할 수 있는 작업 유형을 처리합니다. 이 화면에는 작업에 대해 선언된 인수가 나열됩니다. 그런 다음 워크플로를 구성하는 데 작업이 사용될 때 이러한 인수가 정의됩니다.
다음 단계는 개체 형식을 만들고 해당 개체 형식을 정의하여 달성되는 커넥터 공간 스키마를 정의하는 것입니다. 개체 형식을 선택한 다음, 추가를 선택합니다. 새 창에서 새 개체 형식을 추가하고 이름을 제공합니다. 확인을 선택합니다.
개체 형식을 추가하면 아래 화면이 제공됩니다.
개체 형식에 해당하는 오른쪽 창을 사용하면 선택한 개체 형식에 대한 특성 및 해당 속성을 유지할 수 있습니다. 추가를 선택합니다. 특성을 추가하기 위해 새 창이 열립니다.
필요한 특성을 모두 추가한 후 다음 화면이 나타납니다.
개체 형식 및 특성이 만들어지면 MIM(Microsoft Identity Manager 2016)에서 수행된 작업에 맞는 빈 워크플로를 제공합니다.
웹 서비스 구성 도구에서 워크플로 구성
다음 단계는 개체 형식에 대한 워크플로를 구성하는 것입니다. 워크플로 파일은 런타임에 Web Services 커넥터에서 사용하는 일련의 활동입니다. 워크플로는 적절한 MIM 작업을 구현하는 데 사용됩니다. 웹 서비스 구성 도구를 사용하면 다음과 같은 네 가지 워크플로를 만들 수 있습니다.
가져오기: 다음 두 가지 유형의 워크플로에 대한 데이터 원본에서 데이터를 가져옵니다.
- 전체 가져오기: 구성할 수 있는 전체 가져오기입니다.
- 델타 가져오기: 웹 서비스 구성 도구에서 지원되지 않습니다.
내보내기: MIM에서 연결된 데이터 원본으로 데이터를 내보냅니다. 작업에 대해 지원되는 세 가지 작업은 다음과 같습니다. 요구 사항에 따라 이러한 작업을 구성할 수 있습니다.
- 추가
- 삭제
- 바꾸기
암호: 사용자(개체 유형)에 대한 암호 관리를 수행합니다. 이 작업에는 다음 두 가지 작업을 사용할 수 있습니다.
- 암호 설정
- 암호 변경
연결 테스트: 데이터 원본 서버와의 연결이 성공적으로 설정된 경우 검사 워크플로를 구성합니다.
참고
프로젝트에 대해 이러한 워크플로를 구성하거나 Microsoft 다운로드 센터에서 기본 프로젝트를 다운로드할 수 있습니다.
Workflow Designer
워크플로 Designer 작업 영역을 열어 요구 사항에 따라 워크플로를 구성합니다. 모든 개체 유형(새 /기존)에 대해 구성 도구는 도구에서 지원하는 워크플로에 대한 노드를 제공합니다.
워크플로 Designer 다음 UI 요소로 구성됩니다.
왼쪽 창의 노드: 워크플로를 디자인할 노드를 선택하는 데 도움이 됩니다.
중앙 워크플로 Designer: 여기에서 워크플로를 구성하기 위한 활동을 삭제할 수 있습니다. 다양한 MIM 작업(내보내기, 가져오기, 암호 관리)을 수행하려면 .NET Workflow Framework 4의 표준 및 사용자 지정 워크플로 작업을 사용할 수 있습니다. 웹 서비스 구성 도구는 표준 및 사용자 지정 워크플로 작업을 사용합니다. 표준 활동에 대한 자세한 내용은 활동 디자이너 사용을 참조하세요.
중앙 워크플로 Designer 작업 옆에 느낌표가 있는 빨간색 원은 작업이 삭제되었으며 올바로 완전히 정의되지 않음을 나타냅니다. 빨간색 원 위로 마우스를 가져가 정확한 오류를 확인합니다. 활동이 올바르게 정의되면 빨간색 원은 노란색 정보 표시로 변경됩니다.
중앙 워크플로 Designer 작업 옆에 노란색 삼각형 정보 표시가 있으면 활동이 정의되었음을 나타내지만 작업을 완료하기 위해 수행할 수 있는 작업이 더 많습니다. 노란색 삼각형 위로 마우스를 가져가서 자세한 내용을 확인합니다.
도구 상자: 시스템 및 사용자 지정 활동 및 미리 정의된 문을 포함한 모든 도구를 패키지하여 워크플로를 디자인합니다. 자세한 내용은 도구 상자를 참조하세요.
도구 상자 섹션: 도구 상자에는 다음과 같은 섹션과 범주가 있습니다.
설명: 도구 상자의 헤더입니다. 한 탭은 도구 상자 및 선택한 워크플로 활동의 속성에 액세스합니다.
가져오기 워크플로: 가져오기 워크플로를 구성하는 사용자 지정 작업입니다.
워크플로 내보내기: 내보내기 워크플로를 구성하는 사용자 지정 활동입니다.
일반: 워크플로를 구성하는 사용자 지정 활동입니다.
디버그: 워크플로 4에 정의된 디버깅을 위한 시스템 워크플로 작업입니다. 이러한 활동은 워크플로에 대한 문제 추적을 허용합니다.
문: 워크플로 4에 정의된 시스템 워크플로 작업입니다. 자세한 내용은 활동 디자이너 사용을 참조하세요.
속성: 속성 탭에는 디자이너 영역에서 삭제되고 선택된 특정 워크플로 작업의 속성이 표시됩니다. 왼쪽 그림에는 할당 작업의 속성이 표시됩니다. 모든 작업에 대해 속성이 다르며 사용자 지정 워크플로를 구성하는 동안 사용됩니다. 이 탭을 사용하면 중앙 워크플로 디자이너에 삭제된 선택한 도구의 특성을 정의할 수 있습니다. 자세한 내용은 속성에 정의된 인터페이스의 private C++ 관련 구현입니다.
작업 표시줄: 작업 표시줄에는 변수, 인수 및 가져오기의 세 가지 요소가 포함 됩니다. 이러한 요소는 워크플로 활동과 함께 사용됩니다. 자세한 내용은 개발자의 .NET 4의 WF(Windows Workflow Foundation) 소개를 참조하세요.
웹 서비스 구성 도구에서 전체 가져오기 워크플로 구성
다음 단계에서는 웹 서비스 구성 도구를 사용하여 SOAP에 대한 전체 가져오기 워크플로를 구성하는 방법을 보여 줍니다.경고
이 샘플은 워크플로만 만듭니다. API에서 사용자 지정 논리를 사용하는 것과 같은 워크플로를 수정해야 할 수 있습니다.
구성할 전체 가져오기 워크플로를 선택합니다. 인수 및 가져오기는 이미 정의되어 있으며 활동과 관련이 있습니다. 자세한 내용은 다음 화면을 참조하세요.
호출을 재구성한 후 변경되는 특성의 이름을 변경하고, API의 반환 구조와 이전 네임스페이스를 참조하는 개체 형식을 참조하는 변수로 네임스페이스를 추가하거나 변경합니다. 오른쪽 창의 도구 상자에는 구성에 필요한 모든 사용자 지정 워크플로별 활동이 있습니다. 논리에 사용할 변수에 값을 할당합니다. 중앙 워크플로 디자이너의 아래쪽 섹션으로 이동하여 변수를 선언합니다. 변수는 다음 단계에서 선언됩니다.
시퀀스 작업을 추가합니다. 도구 상자에서 시퀀스 작업 디자이너를 끌어 Windows 워크플로 Designer 화면으로 놓습니다. 다음 화면을 참조하세요. 시퀀스 작업에는 순서대로 실행되는 자식 활동의 순서가 지정된 컬렉션이 포함됩니다.
변수를 추가하려면 변수 만들기를 찾습니다. 이름에 wsResponse를 입력하고 변수 형식 드롭다운을 선택한 다음 형식 찾아보기를 선택합니다. 대화 상자가 표시됩니다. 생성된>기본>응답을 선택합니다. 범위 및 기본값을 선택하지 않은 상태로 유지합니다. 또는 속성 뷰를 사용하여 이러한 값을 설정합니다.
이제 다른 모든 변수를 추가하고 아래는 최종 화면입니다.
이미 추가 된 시퀀스 작업 내의 도구 상자 에서 하나 이상의 시퀀스 활동 디자이너를 끌어옵니다.
Common 아래에 표시된 WebServiceCallActivity 를 끕 니다. 이 작업은 검색 후 사용할 수 있는 웹 서비스 작업을 호출하는 데 사용됩니다. 이는 사용자 지정 작업이며 다양한 작업 시나리오에서 일반적입니다.
웹 서비스 작업을 사용하려면 다음 속성을 설정합니다.
서비스 이름: 웹 서비스의 이름을 입력합니다.
엔드포인트 이름: 선택한 서비스의 엔드포인트 이름을 지정합니다.
작업 이름: 서비스에 대한 각 작업을 지정합니다.
인수: 인수를 선택합니다. 다음 대화 상자에서 다음 그림과 같이 인수 값을 할당합니다.
중요
이 대화 상자를 사용하여 인수의 이름, 방향 또는 형식 을 변경하지 마세요. 이러한 값이 변경되면 활동이 유효하지 않습니다. 인수의 값 만 설정합니다. 이 그림과 같이 wsResponse 값이 설정됩니다.
WebServiceCallActivity 바로 아래에 ForEach 활동을 추가합니다. 이 작업은 개체 형식의 모든 특성(앵커 및 비 앵커 모두)을 반복하는 데 사용됩니다. 이 작업을 워크플로 Designer 화면으로 끌면 개체의 모든 특성 이름이 자동으로 열거됩니다. 다음 화면에 따라 필요한 값을 설정합니다.
ForEach 본문 내에서 CreateCSEntryChangeScope 작업을 끌어옵니다. 이 작업은 대상 데이터 원본에서 데이터를 검색하는 동안 각 레코드에 대한 워크플로 도메인에 CSEntryChange 개체의 instance 만드는 데 사용됩니다. 이 작업을 끌면 아래 화면이 제공됩니다. CreateAnchorAttribute 작업은 자동으로 상속됩니다.
DN 식의 값을 로
‘string.Concat ("Employee",item.EmployeeID)’
설정합니다. EmployeeID의 AnchorValue를 'Convert.tostring(item)으로 설정합니다. EmployeeID)'. ObjectTypeName을 Employee으로 설정합니다. 이러한 수정을 수행하면 다음 화면이 표시됩니다.참고
앵커 값 및 개체 이름은 노출된 웹 서비스에 따라 달라집니다. 그림에는 예제가 표시됩니다.
CreateAttributeChange 작업을 CreateAnchorAttribute 작업 아래로 끌어옵니다. 끌 활동 수는 앵커가 아닌 특성의 수와 같습니다. 참조는 다음 그림을 참조하세요.
CreateAttributeChange 작업 내에서 CreateValueChangeActivity를 끌어 아래 화면에 따라 특성 값을 설정합니다.
참고
이 작업을 사용하려면 드롭다운에서 해당 필드를 선택하고 할당하고 값을 할당합니다. 다중값 특성의 경우 CreateAttributeChangeActivity 활동 내에 여러 CreateValueChangeActivity 작업을 삭제합니다.
특성에 대한 조건을 추가하려면 다음 그림과 같이 If 작업을 추가합니다.
마지막으로 다음 그림과 같이 할당 작업을 추가하고 식을 설정합니다.
이 프로젝트를 위치에
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
저장합니다.기본 프로젝트를 다운로드하여 대상 시스템의 위치에
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
저장해야 합니다. 그러면 프로젝트가 웹 서비스 커넥터 마법사에 표시됩니다.실행 파일을 실행할 때 설치 위치를 지정하라는 메시지가 표시됩니다. 저장 위치를 입력합니다.
중요
프로젝트 파일을 저장하고 모든 위치에서 열 수 있습니다(해당 실행기의 적절한 액세스 권한 포함). MIM 동기화 UI를
Synchronization Service\Extension
통해 액세스되는 웹 서비스 커넥터 마법사에서 폴더에 저장된 프로젝트 파일만 선택할 수 있습니다.웹 서비스 구성 도구를 실행하는 사용자에게는 다음 권한이 필요합니다.
- 동기화 서비스 확장 폴더에 대한 모든 권한.
- 확장 폴더 경로가 있는 레지스트리 키
HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters
에 대한 액세스를 읽습니다.
웹 서비스 구성 도구에서 내보내기 워크플로 구성
다음 섹션에서는 웹 서비스 구성 도구를 사용하여 워크플로를 내보내는 방법을 보여 줍니다.
워크플로 추가
웹 서비스 구성 도구에서 다음 단계를 수행하여 내보내기 워크플로를 추가합니다.구성할 내보내기 워크플로를 선택합니다. 내보내기에서 추가를 선택합니다. 인수 및 가져오기는 이미 정의되어 있으며 활동과 관련이 있습니다. 참조는 다음 화면을 참조하세요.
시퀀스 작업을 추가합니다. 시퀀스 활동 디자이너를 도구 상자에서 끌어 Windows 워크플로 Designer 화면으로 놓습니다. 시퀀스 활동에는 순서대로 실행되는 자식 활동의 순서가 지정된 컬렉션이 포함됩니다. 변수 만들기를 선택합니다. 논리에 사용할 변수에 값을 할당합니다.
참고
변수를 추가하는 단계는 전체 가져오기 워크플로를 만들기 위한 섹션에 설명되어 있습니다.
이미 추가된 시퀀스 작업 내에서 ForEach 작업을 끌어 앵커 특성 값을 반복합니다.
속성을 선택하고 아래 화면에 따라 값을 설정합니다. 여기서 objectToExport 는 인수입니다.
DisplayName을ForEach<AnchorAttribute>로 설정
TypeArgument를 로
Microsoft.MetadirectoryServices.AnchorAttribute
설정합니다.AnchorAttribute의 ForEach 본문 내에 Switch 작업을 추가합니다.
아래 화면에 따라 식을 추가합니다.
새 사례 추가를 선택하고 EmployeeId에 대한 값을 입력합니다. 시퀀스 작업을 끌어서 그 안에 할당 작업을 추가합니다.
할당 작업에 대해 To 및 Value 속성을 할당 합니다.
ForEach 작업은 앵커 값에 사용됩니다. 다른 ForEach 작업을 추가하여 앵커가 아닌 값을 할당합니다. 이 예제에서는 AttributeChange 앵커가 사용됩니다.
AttributeChange 앵커의 ForEach 본문 내에 Switch 작업을 추가합니다.
아래 화면에 따라 식을 추가합니다.
새 사례 추가를 선택하고 FirstName에 대한 값을 입력합니다. 시퀀스 작업을 끌어서 그 안에 할당 작업을 추가합니다. 할당 작업에 대해 To 및 Value 속성을 할당 합니다.
LastName, Email 등과 같은 필수 특성에 대한 값을 추가합니다.
Common에서 WebServiceCallActivity를 끌어 해당 인수에 대한 값을 설정합니다.
중요
이 대화 상자를 사용하여 인수의 이름, 방향 또는 형식 을 변경하지 마세요. 이러한 값이 변경되면 작업이 유효하지 않습니다. 인수의 값 만 설정합니다. 이 그림과 같이 wsResponse 값이 설정됩니다.
마지막으로 If 작업을 추가하여 웹 서비스 작업에서 반환되는 응답을 검사.
추가 작업을 사용하여 내보내기 워크플로 만들기가 완료되었습니다.
이 프로젝트를 위치에 %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
저장합니다.
워크플로 삭제
웹 서비스 구성 도구의 다음 단계에 따라 내보내기 워크플로를 삭제합니다.
구성할 내보내기 워크플로를 선택합니다. 내보내기에서 삭제를 선택합니다. 인수 및 가져오기는 이미 정의되어 있으며 활동과 관련이 있습니다. 참조는 다음 화면을 참조하세요.
시퀀스 작업을 추가합니다. 변수 만들기를 선택합니다. 논리에 사용할 변수에 값을 할당합니다.
참고
변수를 추가하는 단계는 전체 가져오기 워크플로를 만들기 위한 섹션에 설명되어 있습니다.
이미 추가된 시퀀스 작업 내에서 ForEach 작업을 끌어 앵커 특성 값을 반복합니다.
속성을 선택하고 아래 화면당 값을 설정합니다. 여기서 objectToExport 는 인수입니다.
DisplayName을 로
ForEach\<AnchorAttribute\>
설정합니다.TypeArgument를 로
Microsoft.MetadirectoryServices.AnchorAttribute
설정합니다.AnchorAttribute의 ForEach 본문 내에 Switch 작업을 추가합니다.
아래 화면에 따라 식을 추가합니다.
새 사례 추가를 선택하고 EmployeeId에 대한 값을 입력합니다. 시퀀스 작업을 끌어서 그 안에 할당 작업을 추가합니다.
할당 작업에 대해 To 및 Value 속성을 할당 합니다.
Common에서 WebServiceCallActivity를 끌어 해당 인수에 대한 값을 설정합니다.
중요
이 대화 상자를 사용하여 인수의 이름, 방향 또는 형식 을 변경하지 마세요. 이러한 값이 변경되면 작업이 유효하지 않습니다. 인수의 값 만 설정합니다. 이 그림과 같이 employeeID 값이 설정됩니다.
마지막으로 If 작업을 추가하여 웹 서비스 작업에서 반환된 응답을 검사.
삭제 작업을 사용하여 내보내기 워크플로 삭제가 완료되었습니다.
이 프로젝트를 위치에 %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
저장합니다.
워크플로 바꾸기
웹 서비스 구성 도구에서 다음 단계를 수행하여 내보내기 워크플로를 바꿉니다.
구성할 내보내기 워크플로를 선택합니다. 내보내기에서 바꾸기를 선택합니다. 인수 및 가져오기는 이미 정의되어 있으며 활동과 관련이 있습니다. 참조는 아래 화면을 참조하세요.
시퀀스 작업을 추가합니다.
AnchorAttribute에 대한< ForEach 작업을 끕니다>.
다른 ForEach<AttributeChange> 작업을 추가하여 앵커가 아닌 값을 할당합니다.
마지막으로 화면은 다음 그림과 같습니다. 이 작업을 구성하기 위한 지침은 내보내기 워크플로 추가 섹션에 제공됩니다.
Common에서 WebServiceCallActivity를 끌어 해당 인수에 대한 값을 설정합니다.
중요
이 대화 상자를 사용하여 인수의 이름, 방향 또는 형식 을 변경하지 마세요. 이러한 값이 변경되면 활동이 유효하지 않습니다. 인수의 값 만 설정합니다. 이 그림과 같이 직원 값이 설정됩니다.
마지막으로 If 작업을 추가하여 웹 서비스 작업에서 반환되는 응답을 검사.
내보내기 워크플로를 바꾸기 작업으로 교체가 완료되었습니다.
이 프로젝트를 위치에 %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
저장합니다.
디버그 작업
워크플로 템플릿을 디버그하는 데 도움이 되는 다음 사용자 지정 활동을 사용할 수 있습니다.
로그 작업
로그 작업은 로그 파일에 문자 메시지를 쓰는 데 사용됩니다. 자세한 내용은 로깅을 참조하세요.
참고
워크플로를 쉽게 디버그할 수 없는 경우 프로덕션 환경에서 워크플로를 디버깅해 보세요.
로그 작업을 사용하려면 다음 속성을 설정합니다. 워크플로 Designer 활동을 선택하고 활동에 대한 속성을 볼 때 속성이 표시됩니다.
WriteLine 작업
WriteLine 작업은 공급자의 기록기에 문자 메시지를 쓰는 데 사용됩니다. 사용할 수 있는 작성기가 없는 경우 WriteLine 작업은 콘솔 창에 텍스트를 씁니다.
텍스트 상자에 작성기 대상에 표시할 메시지를 작성합니다.
중요
이 작업에 콘솔 창을 사용할 수 없습니다. 이 작업에 다른 창 출력 작성기를 사용합니다.
WriteLine 작업을 사용하려면 다음 속성을 설정합니다. 워크플로 Designer 활동을 선택하고 활동에 대한 속성을 볼 때 속성이 표시됩니다.
로그 수준: 로그 값에 쓸 콘텐츠의 양을 지정합니다. 가능한 값은 다음과 같습니다.
- 높음: 로그 심각도가 높음으로 설정된 경우 로그 파일에 LogText 메시지를 씁니다.
- 자세한 정보: 로그 심각도가 자세한 정보 표시로 설정된 경우 로그 파일에 LogText 메시지를 씁니다.
- 사용 안 함: 로그 파일에 쓰지 마세요.
LogText: 로그에 쓸 텍스트 콘텐츠를 지정합니다.
태그: 텍스트에 태그를 추가하여 로그에 기록되는 콘텐츠 유형을 식별합니다. 가능한 값은 오류, 추적 또는 경고입니다.