학생 정보 시스템에 연결하지 않고 LIS 통합을 테스트할 수 있습니다. a) SOAP 요청을 관리할 애플리케이션을 필요로 하는 웹 서비스에 바인딩해야 하며, b) 학생 정보 시스템에서 생성된 SOAP 기반 데이터와 UI에서 사용할 수 있는 업로드 파일 옵션에 사용된 데이터 간의 데이터 형식이 달라야 하는 경우 LIS 통합은 다른 통합 유형보다 약간 더 복잡합니다. 아래에는 LIS 지원 웹 서비스 및 UI를 사용하여 LIS 통합을 테스트하는 방식이 나와 있습니다.
LIS 통합 테스트
학생 정보 시스템을 통합에 연결하기 전에 기능적인 면에서 LIS 통합을 테스트하면, Learn에서 구성이 올바로 작동하는지 확인할 수 있습니다. 이로써 통합의 절반은 달성한 것입니다. Learn에서 LIS 요청을 적절하게 처리하고 있음을 확인한 다음, 학생 정보 시스템에 연결할 때 수식의 절반을 제거하면 연결 문제 또는 잘못 작동하는 문제가 발생합니다. 제공된 샘플을 사용하여 테스트한 경우 테스트 시나리오의 변수의 수를 다시 제한하면서 학생 정보 시스템을 Learn에 계속해서 연결하기 전에 연결되지 않은 테스트를 보완하고 학생 정보 시스템에서 LIS 출력을 추출하는 것을 고려할 수 있습니다.
LIS 통합은 웹 서비스를 기반으로 하며, 이 통합에서는 데이터를 전송할 때 SOAP를 활용합니다. SOAP는 구조화된 정보를 교환할 수 있게 지원하는 프로토콜을 기반으로 한 XML 메시지 형식입니다.
LIS 서식이 지정된 데이터를 사용하여 Learn에서 데이터를 배치하는 방법으로는 두 가지, 즉 웹 서비스 엔드포인트를 사용하는 방법과 xml 파일을 업로드하는 방법이 있습니다.
웹 서비스 엔드포인트를 사용하여 테스트
LIS 통합을 구성한 후에는 테스트 환경을 구성하는 데 사용되는 웹 서비스 엔드포인트를 기록해야 합니다. LIS 통합용 엔드포인트는 구성된 LIS 통합에 있는 웹 서비스 정보 링크를 사용하여 검색할 수 있습니다.
또한 통합을 위해 입력한 사용자명과 비밀번호를 기록해야 합니다. 이 내용은 통합의 메뉴에서 '수정' 옵션을 선택하여 검색할 수 있습니다.
SoapUI
웹 서비스를 테스트하려면 SOAP 메시지를 웹 서비스 엔드포인트에 게시할 수 있는 도구를 사용해야 합니다. 다음 예에서는 SoapUI라는 도구를 사용합니다. SoapUI는 www.soapui.org에서 제공됩니다. SoapUI는 무료 오픈 소스 교차 플랫폼의 기능 테스트 솔루션으로, 웹 서비스의 기능 및 부하 테스트를 쉽고 빠르게 만들고 실행할 수 있게 해줍니다.
다음 데모에서는 SoapUI를 사용하지만, 비슷한 수준의 도구를 선택하여 사용할 수도 있습니다.
사용 중인 LIS 통합에 대한 테스트를 완료한 후에는 필요한 작업에 따라 엔드포인트에 데이터를 제출하도록 학생 정보 시스템을 구성할 수 있습니다(서비스 예 참조).
SoapUI 구성
웹 서비스 정보 외에도 통합 사용자명 및 비밀번호가 필요하며, 이 내용에는 저장한 통합의 수정 메뉴를 통해 접근할 수 있습니다. 이는 접근을 인증하고 관련된 LIS 통합 인스턴스를 식별하는 데 사용되는 사용자명 및 비밀번호입니다.
- SoapUI를 엽니다.
- 파일 메뉴에서 기본 설정을 선택합니다.
- HTTP 설정에서 발신 요청에 인증 정보 추가를 선택합니다.
- 확인을 선택합니다.
WSDL URL 가져오기
지원되는 방법을 구성하기 위해 테스트되는 각 서비스에는 WSDL이 필요합니다. WSDL URL은 '로컬 Learn 웹 서비스' 아래에 있는 관리에 대한 '엔드포인트 URL' 값이며 ".wsdl"과 연결되어 있습니다. 구성된 WSDL URL은 다음과 유사하게 표시됩니다.
https://<yourserver>/webapps/bb-data-integration-lis-BBLEARN/services/PersonManagementServiceSyncService .wsdl
다음과 같은 네 가지를 구성하게 되며, 서비스별로 하나씩 테스트됩니다.
CourseSectionManagerSyncService
GroupManagementSyncService
MembershipManagementSyncService
PersonManagementSyncService
dataSetStatus는 LIS 서비스가 아니라 통합 활동을 모니터링하기 위해 Learn에서 제공하는 서비스입니다.
SoapUI "4바이트보다 큰 문자는 지원되지 않습니다." 오류 해결
일부 SoapUI 설치 시 WSDL을 로드하려고 시도할 때 "org.apache.xmlbeans.XmlException: java.io.CharConversionException: 4바이트보다 큰 문자는 지원되지 않습니다. 0x96바이트는 4바이트보다 큰 길이를 의미합니다."라는 오류가 발생할 수 있습니다.
이 문제를 해결하려면 다음을 수행하십시오.
- SoapUI 설치 아래에 있는 'bin' 폴더와 "soapUI-4.6.4.vmoptions" 파일을 엽니다. 이를 텍스트 편집기에서 열고 다음 행을 추가합니다.
-Dfile.encoding=UTF8
- 파일을 저장하고 SoapUI를 닫았다가 다시 연 다음 WSDL을 다시 로드합니다.
일괄 데이터 교환 관리 서비스에 대한 테스트는 서비스에서 데이터 파일에 접근하기 위해 파일 서버에 접근하도록 요구하는 것과 동일한 방식으로 SoapUI를 사용하여 끝까지 완료되지 않을 수 있습니다. 자세히 알아보려면 이 주제의 아랫부분의 "SoapUI를 사용하여 일괄 서비스 테스트"를 참조하십시오.
테스트를 위해 SoapUI 프로젝트 생성
테스트할 각 서비스는 SoapUI에 프로젝트로 추가해야 합니다. 아래에는 PersonManagementServiceSyncService를 테스트하기 위해 SoapUI를 설정하는 방법이 나와 있습니다.
- 메뉴를 사용하거나 'Ctrl+n' 키를 눌러 새 SoapUI 프로젝트를 생성합니다.
- 프로젝트의 이름을 지정합니다. 이 데모는 개인 서비스용이므로 여기서는 이름이 'LIS 개인'으로 지정됩니다.
- 초기 WSDL 필드에서 PersonManagementServiceSyncService용으로 위에서 구성한 WSDL URL을 붙여넣습니다.
초기 WSDL은 '.wsdl' 확장명으로 테스트 중인 서비스에 대한 Learn 엔드포인트 URL입니다.
- 확인을 선택합니다.
- 서비스 템플릿을 생성한 후에 프로젝트 인터페이스를 선택하여 프로젝트의 인터페이스 뷰어를 엽니다. 여기에서 통합의 웹 서비스 정보 페이지에서 복사한 URL을 사용하여 서비스 엔드포인트를 업데이트합니다.
- 통합의 구성 페이지에서 입력했던 사용자명을 입력합니다.
- 통합의 구성 페이지에서 입력했던 비밀번호를 입력합니다.
이 정보는 모든 프로젝트의 서비스에 사용됩니다. 사용자명과 비밀번호는 대상 통합을 식별하고 서비스에 접근하는 데 필요한 인증 정보를 제공합니다.
서비스 엔드포인트 설정을 변경하는 경우 '할당' 버튼을 선택하고 '- 모든 요청 -' 옵션을 선택하여 프로젝트를 업데이트해야 합니다. 이렇게 하지 않으면 SOAP 오류가 발생할 수 있습니다.
코스, 멤버십 및 그룹에 대한 프로젝트를 생성하려면 1~5단계를 반복해야 합니다. SoapUI는 프로젝트마다 여러 WSDL을 지원하기도 하지만, 4개의 프로젝트가 생성된 경우에는 서비스를 별개로 유지하는 것이 더 쉽습니다.
통합 테스트
SoapUI는 제공된 WSDL을 기반으로 하여 요청 템플릿을 생성하는데 이는 LIS 관리 객체의 형식을 이해할 때 유용한 반면, Learn에 제출할 때는 적합하지 않습니다. 이렇게 하면 문제가 발생하지 않으며, Learn에서는 단순히 프로세스에 대한 오류를 반환합니다.
테스트하려면 준수 데이터 집합을 제출해야 합니다. 아래의 예는 초기 테스트를 수행하는 데 사용될 수 있으며, 이 테스트 후에는 학생 정보 시스템에서 실제로 추출한 내용이 사용될 수 있습니다.
Blackboard Learn 9.1 SP14 및 그 이전 버전의 LIS 구현은 대체 서비스만 지원합니다. 생성된 요청 템플릿을 제출하여 지원되는 서비스를 확인할 수 있습니다. 지원되지 않는 서비스는 응답 시 unsupported 오류가 표시됩니다.
PersonManagementServiceSyncService 테스트
- 테스트 중인 서비스 아래의 인터페이스 트리를 펼칩니다. 이는 새 프로젝트를 생성한 후에 표시됩니다. 이 예에서는 replacePerson이 펼쳐졌습니다.
- 새 요청을 생성하고 이름을 SampleReplacePerson 으로 지정합니다.
- replacePerson 요청의 템플릿이 포함된 요청 뷰어가 열립니다. SampleReplacePersonRequest.xml에서 텍스트를 복사한 후 생성된 템플릿을 대체하는 요청 보기에 붙여 넣습니다.
- '요청 제출' 아이콘을 선택합니다.
- 제공한 SOAP XML의 오른쪽에 있는 요청 보기에 요청의 결과가 표시됩니다.
제공된 샘플 파일을 사용하는 나머지 프로젝트/인터페이스에 대해 1~5단계를 반복합니다. 이렇게 하면 '실제' 데이터로 테스트하거나 학생 정보 시스템에 연결하기 전에 통합 구성에 문제가 발생하지 않습니다. 또한 추출되었거나 직접 구축한 데이터 집합을 테스트하기 위해 이 프로세스를 사용할 수 있습니다.
반환된 참조 코드는 요청 처리를 모니터링하기 위해 캡처될 수 있습니다.
UI 파일 업로드를 사용하여 테스트
Learn 학생 정보 시스템 프레임워크를 사용하면 서식이 지정된 일괄 xml을 UI를 통해 업로드할 수 있습니다. 이 데모에서는 학생 정보 시스템에서 LIS 엔드포인트에 제공한 일괄 파일과 이벤트 형식 간의 차이점을 설명합니다.
일괄 파일의 파일 형식(통합 UI를 통해 업로드하는 데 사용됨)에는 학생 정보 시스템에서 엔드포인트로 전달한 항목을 통해 변경된 xml 버전이 필요합니다. 아래의 다운로드 가능한 샘플 집합에 포함된 업로드 예에서 SampleBulkRequest_PersonCourseMemberTerm.xml을 참조하십시오.
대량 파일 형식
LIS와 호환되는 학생 정보 시스템이 Learn과 통신하는 경우 학생 정보 시스템에서는 완전히 구성된 SOAP 메시지를 웹 서비스 끝점으로 보냅니다. 이 SOAP 메시지에는 LIS XML 데이터 주위의 래퍼가 포함되어 있습니다. 이 정보는 수동 데이터 업로드에 필요하지 않으며, 포함되어 있는 경우 피드 오류의 원인이 될 수 있습니다. 아래에는 개인(사용자) 객체의 잘린 샘플(Data Set 1.0)이 나와 있습니다. 지원되는 각 객체의 데이터 형식에 대한 전체 설명을 보려면 LIS 2.0 데이터 형식을 참조하십시오.
<?xml version='1.0' encoding='ISO-8859-1'?>
<bulkDataRecord xmlns="http://www.imsglobal.org/services/li...sDataFile_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/services/li...sDataFile_v1p0 ../schemas/imsbdemsDataFile_v1p0.xsd">
<!-- Consider everything ABOVE this line as the "feed file header" -->
<!-- start persons here -->
<transactionRecord>
<transactionOpIdentifier>identifier</transactionOpIdentifier>
<serviceName>PersonManagementService</serviceName>
<interfaceName>PersonManager</interfaceName>
<operationName>replacePerson</operationName>
<!-- Consider everything ABOVE this line as the "personRecord header";
operationName will be replacePerson or deletePerson -->
<parameterSet>
<parameterRecord>
<parameterInvoc>In</parameterInvoc>
<parameterName>sourcedId</parameterName>
<parameterType>GUID</parameterType>
<parameterValue>55555</parameterValue> <!-- ID for logging -->
</parameterRecord>
<parameterRecord>
<parameterInvoc>In</parameterInvoc>
<parameterName>personRecord</parameterName>
<parameterType>PersonRecord</parameterType>
<parameterValue>
<personRecord>
<sourcedGUID>
<refAgentInstanceID>unknown</refAgentInstanceID>
<sourcedId>55555</sourcedId> <!-- batch_uid (for real) -->
</sourcedGUID>
<person> <!-- start person record -->
<formname>
<formnameType>
<instanceIdentifier>
<language>en</language>
<textString>unknown</textString>
</instanceIdentifier>
<instanceVocabulary>
http://www.imsglobal.org/lis/pmsv2p0/formatnmetypevocabularyv1p0
<instanceVocabulary>
<instanceValue>
<language>en</language>
<textString>Full</textString>
</instanceValue>
</formnameType>
<formattedName>
<language>en</language>
<textString>Dr. First Middle Last, Jr.</textString> <!-- Full Name IGNORED by Learn-->
</formattedName>
</formname>
...
</person>
</personRecord><!-- end person record -->
<!-- could have more <personRecord></personRecord>s here -->
</parameterValue>
</parameterRecord>
</parameterSet>
</transactionRecord>
<!-- could have additional transactionRecords for Courses, Memberships, or Groups here -->
</bulkDataRecord>
<!-- Master closing tag -->
Data Set 1.0: Learn UI LIS 업로드 파일에서 사용할 LIS 예시 데이터입니다. 전체 파일은 아래 링크에서 다운로드할 수 있는 샘플 집합에서 제공됩니다.
업로드를 위해 LIS SOAP XML 변경
일괄 데이터 파일의 최소 요구 사항은 LIS 생성 메시지에 있는 SOAP-ENV:Envelope 및 SOAP-ENV:Body의 여는 태그 및 닫는 태그를 제거하고 이를 bulkDataRecord의 여는 태그 및 닫는 태그로 대체하는 것입니다. 이는 위에 요약되어 있는 데이터 집합에 나와 있습니다. 단일 파일에서 여러 트랜잭션을 수행하는 경우(예: 개인, 코스 및 멤버십용) 추가 transactionRecord 태그로 트랜잭션을 래핑해야 합니다(전체 예 참조).
테스트
데이터 파일을 준비한 후에 LIS 통합 메뉴를 통해 피드 파일 업로드를 여십시오.
업로드할 파일을 선택하는 업로드 페이지로 이동됩니다. 이 데모의 경우 제공된 샘플 파일인 SampleBulkRequest_PersonCourseMemberTerm.xml.
파일을 제출하면 통합 페이지로 다시 돌아오게 됩니다. 객체가 생성 또는 업데이트된 관리자 UI를 통해 검사하여 테스트 결과를 확인하거나, 학생 정보 시스템 프레임워크의 로그 뷰어를 사용하여 통합의 로그를 확인할 수 있습니다.
통합의 로그를 확인하기 위해 통합의 메뉴에서 로그 보기를 선택하면 통합용 로그 페이지로 이동됩니다.
로깅된 메시지를 더 자세히 검사하기 위해 목록에서 메시지 줄 항목을 선택하면 메시지 목록 아래의 '메시지 세부 사항' 영역에 자세한 내용이 나타납니다.
여기에는 문제를 디버깅하는 데 유용한 정보가 들어 있습니다. 예:
<feb _x0032_0=""> Invalid data for attribute: role. Skipping entire record. Reason: The Course Role is invalid.
InvalidData
Error occurred processing the following XML:
In
sourcedId
GUID
test_course.55555
In
membershipRecord
membershipRecord
<membershipRecord><sourcedGUID><refAgentInstanceID>unknown</refAgentInstanceID><sourcedId>test_course.55555</sourcedId></sourcedGUID><membership><collectionSourcedId>test_course</collectionSourcedId><membershipIdType>courseSection</membershipIdType><member><personSourcedId>55555</personSourcedId><role><roleType>Learner</roleType><subRole>Learner</subRole><timeFrame><begin>2014-02-01T15:00:00</begin><end>2014-09-01T15:50:00</end><restrict>false</restrict><adminPeriod><language>en</language><textString>201330</textString></adminPeriod></timeFrame><status>Active</status><dateTime>2011-08-04T15:00:00</dateTime><creditHours>0</creditHours><dataSource>SIS</dataSource><extension><extensionNameVocabulary>unknown</extensionNameVocabulary><extensionTypeVocabulary>unknown</extensionTypeVocabulary><extensionField><fieldName>LIS2.0Role/Gradable</fieldName><fieldType>String</fieldType><fieldValue>Gradable</fieldValue></extensionField><extensionField><fieldName>LIS20DeliverySystem</fieldName><fieldType>String</fieldType><fieldValue>BB</fieldValue></extensionField></extension></role></member><dataSource>SIS</dataSource></membership></membershipRecord></feb>
blackboard.dataintegration.lis.operation.OperationExecutorException: InvalidData
이전 메시지 세부 사항에는 실패한 replaceMembership 작업, 특히 코스 내 역할이 잘못된 작업이 나타납니다(노란색으로 강조 표시된 텍스트로 표시됨). 게시된 요청이 들어 있으며 역할이 "학습자"로 잘못 제공되어 있음을 확인할 수 있습니다. 학습자를 "학생"으로 변경하고 다시 제출하면 replaceMembership 요청이 성공하게 됩니다.
SoapUI를 사용하여 일괄 서비스 테스트
일괄 서비스 요청에 대한 테스트를 설정하는 것은 다른 서비스에 대해 테스트를 설정하는 것과 동일하지만, 한 가지 예외가 있습니다. 이는 바로 Learn 애플리케이션 서버가 LIS 서비스를 통해 일괄 데이터 파일을 '선택'하기 위해 접근할 수 있는 파일 서버를 제공해야 한다는 점입니다.
일괄 데이터 교환 웹 서비스의 아키텍처는 세 가지 부분, 즉 고객(이 경우 SoapUI), Learn 인스턴스 테스트의 LIS 인스턴스, 파일 서버로 구성되어 있습니다. 고객은 SOAP 메시지를 일괄 데이터 교환 웹 서비스로 전송합니다. 고객의 요청에는 처리할 배치 파일(파일 서버에 있음)의 URL과 수행해야 하는 작업 유형이 들어 있습니다.
일괄 데이터 교환 웹 서비스가 배치 파일에서 수행할 수 있는 작업은 LIS 인스턴스의 다른 웹 서비스에서 수행할 수 있는 웹 서비스 작업 집합으로 제한됩니다. 9.1 SP 14 및 그 이전 버전의 경우 이는 대체 작업으로 제한됩니다.
체크섬에 문제가 발생하는 경우 데이터 통합 - LIS 설정을 통해 체크섬 검사를 비활성화할 수 있습니다.
LIS 설정
- 구성한 LIS 통합을 열거나 하나 생성하여 공유 사용자명의 값을 기록합니다.
- 통합 속성 아래에서 다음을 입력하고 기록합니다.
- 공유 비밀번호
- 배치 서비스 사용자명
- 배치 서비스 비밀번호
- 배치 다운로드 사용자명(예: '배치 서비스 사용자명'과 동일하게 설정)
- 배치 다운로드 비밀번호(예: '배치 서비스 비밀번호'와 동일하게 설정)
- 학생 정보 시스템의 학습 정보 서비스 배치 웹 서비스 URL: http://localhost:8081/
이는 LIS 일괄 서비스에 파일을 제공하는 HTTPD 서비스의 주소이며 구체적인 구성을 나타내야 합니다.
- 통합 상태를 '활성'으로 설정합니다.
- 로그 상세 표시 수준을 모든 진단 및 디버그 메시지로 설정합니다.
- Learn 데이터 소스를 모든 새 인바운드 데이터에 대해 동일한 Learn 데이터 소스 사용으로 설정합니다.
- 제출을 선택합니다.
지원되는 HTTPD 파일 서비스 설정
다음 파일을 다운로드하고 테스트 파일을 배치할 서버의 압축을 해제합니다.
SampleBulkRequest_PersonCourseMemberTerm.xml 파일을 다운로드하고 파일이 제공될 디렉터리에 배치합니다.
HTTPD 파일 서비스 테스트
java -jar SimpleHttpServer.jar
사용: java SimpleHttpServer <port number> <path to directory to serve files from> <username> <password>
예:
java -jar SimpleHttpServer.jar 8081 /Users/moneil/Desktop/LISTEST moneil moneil
Server running on port 8081. Hit Ctrl-C to quit.
브라우저를 통해 서버에 접근하여 파일 전달을 테스트합니다. 예:
http://10.0.1.16:8081/SampleBulkRequest_PersonCourseMemberTerm.xml
테스트를 위한 SoapUI 설정
일괄 데이터 교환을 테스트하기 위해 SoapUI를 설정하는 방법은 다른 LIS 서비스를 위해 설정하는 방법과 동일합니다.
일괄 데이터 교환 URL/WSDL 가져오기
- 테스트 Learn 인스턴스의 학생 정보 시스템 통합으로 이동합니다.
- LIS 설정 섹션에서 생성된 LIS 통합의 맥락 펼침 버튼을 선택합니다.
- 웹 서비스 정보 옵션을 선택합니다.
- WSDL URL은 로컬 Learn 웹 서비스 아래에 있는 일괄 데이터 교환 관리 서비스에 대한 엔드포인트 URL 값이며 ".wsdl"과 연결되어 있습니다.
SoapUI 설정
- SoapUI를 엽니다.
- 파일 메뉴에서 기본 설정을 선택합니다.
- HTTP 설정에서 발신 요청에 인증 정보 추가를 선택합니다.
- 확인을 선택합니다.
- Ctrl+n 키를 누릅니다.
- 초기 WSDL 필드에 WSDL URL을 붙여넣습니다.
- 확인을 선택합니다.
- announceBulkDataExchange 아래의 트리를 펼칩니다. 이는 새 프로젝트를 생성한 후에 표시됩니다.
- 서비스 템플릿을 생성한 후에 프로젝트 인터페이스를 선택하여 프로젝트의 인터페이스 뷰어를 엽니다. 여기에서 다음 작업을 수행할 수 있습니다.
- 통합의 웹 서비스 정보 페이지에서 복사한 URL을 사용하여 서비스 엔드포인트를 업데이트합니다.
- 통합의 구성 페이지에서 입력했던 사용자명을 입력합니다.
- 통합의 구성 페이지에서 입력했던 비밀번호를 입력합니다.
테스트 실행
announceBulkDataExchange 요청을 열고 아래의 Data Set 2 콘텐츠를 요청 보기에 복사하여 붙여 넣습니다.
테스트 파일 서버를 반영하도록 샘플의 <ims:url> 요소를 변경해야 합니다. 또한 URL이 한 줄에 있는지 확인하십시오.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/li.../imsbdems_v1p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>123456</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:announceBulkDataExchangeRequest>
<ims:transactionId>123456</ims:transactionId>
<ims:bulkBlockManifest>
<ims:bulkBlockManifestId>123456</ims:bulkBlockManifestId>
<ims:expiryDate>2020-10-01T12:00:00</ims:expiryDate>
<ims:bulkBlockDataFile>
<ims:url>http://<your_test_file_server>:8081/<file_path>¬ /SampleBulkRequest_PersonCourseMemberTerm.xml</ims:url>
<ims:checkSum>b3ecf4f05935c687932ce1d8c1af7335</ims:checkSum>
<ims:totalSize>29063</ims:totalSize>
<ims:savePoint>2020-10-01T12:00:00</ims:savePoint>
<ims:serviceSet>
<ims:serviceRecord>
<ims:serviceName>CourseManagementService</ims:serviceName>
<ims:interfaceName>CourseSectionManager</ims:interfaceName>
<ims:operationSet>
<ims:operationName>replaceCourseSection</ims:operationName>
</ims:operationSet>
</ims:serviceRecord>
</ims:serviceSet>
</ims:bulkBlockDataFile>
</ims:bulkBlockManifest>
</ims:announceBulkDataExchangeRequest>
</soapenv:Body>
</soapenv:Envelope>
Data Set 2: BulkDataRequest
고유한 테스트 파일을 생성하기 위한 참고 사항
ims:imsx_messageIdentifier, ims:transactionId 및 ims:bulkBlockManifestId 요소는 모두 동일한 값이어야 합니다(이 샘플에서 값은 123456임). ims:expiryDate 및 ims:savePoint 요소도 동일한 값이어야 합니다(위의 샘플에서는 값 2020-10-01T12:00:00이 사용됨).
ims:bulkBlockDataFile 객체는 작업해야 할 하나의 배치 파일을 나타냅니다. ims:url 요소는 파일 서버에서 테스트 피드 파일의 위치에 대한 URL입니다. ims:totalSize 요소는 테스트 피드 파일의 총 크기(바이트)입니다(Linux에서는'ls -l' 사용, Windows에서는 dir 사용). ims:checkSum 요소는 테스트 파일의 md5 해시입니다(Linux에서는 md5sum 사용, Windows에서는 비슷한 프로그램 또는 Cygwin 다운로드).
ims:serviceRecord 객체는 피드 파일이 처리되는 방식을 나타내며 둘 이상의 ims:serviceRecord가 한 개의 ims:bulkBlockDataFile 요소에 있을 수 있습니다. ims:serviceName 요소는 지정된 피드 파일을 처리하기 위해 작업이 호출되는 LIS 웹 서비스를 나타냅니다. ims:interfaceName 요소는 호출에 사용할 수 있는 메서드의 인덱스로 사용될 LIS 학생 정보 시스템 코드의 인터페이스입니다. ims:operationSet 객체에는 피드 파일을 처리하기 위해 호출될 메서드의 목록이 포함되어 있습니다(ims:operationName 요소로 나열되어 있음).
테스트 요청 실행
요청은 요청 프레임의 왼쪽 상단에 있는 녹색의 '실행' 버튼을 선택하여 실행할 수 있습니다.
위 요청에 대한 응답은 다음과 같습니다.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<ims:imsx_syncResponseHeaderInfo xmlns:ims="http://www.imsglobal.org/services/li.../imsbdems_v1p0">
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>4ebf713ae3664f84ab67d961c3f55060</ims:imsx_messageIdentifier>
<ims:imsx_statusInfo>
<ims:imsx_codeMajor>success</ims:imsx_codeMajor>
<ims:imsx_severity>status</ims:imsx_severity>
<ims:imsx_messageRefIdentifier>123456</ims:imsx_messageRefIdentifier>
<ims:imsx_description>Use the reference code 9d4a22b81d4a45d683c2c13e0a0e7a1c to track these records in the logs.</ims:imsx_description>
<ims:imsx_codeMinor>
<ims:imsx_codeMinorField>
<ims:imsx_codeMinorFieldName>TargetEndSystem</ims:imsx_codeMinorFieldName>
<ims:imsx_codeMinorFieldValue>fullsuccess</ims:imsx_codeMinorFieldValue>
</ims:imsx_codeMinorField>
</ims:imsx_codeMinor>
</ims:imsx_statusInfo>
</ims:imsx_syncResponseHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:announceBulkDataExchangeResponse xmlns:ims="http://www.imsglobal.org/services/li.../imsbdems_v1p0"/>
</soapenv:Body>
</soapenv:Envelope>
요약
학생 정보 시스템에 연결하기 전에 통합을 수동으로 테스트하면 Learn 구성에서 작업이 올바르게 수행되는지 확인할 수 있습니다. UI를 사용하여 테스트하면 데이터와 설정 동작을 빠르게 테스트할 수 있습니다. SoapUI 도구 집합을 사용하여 테스트하면 데이터 및 동작을 테스트할 뿐만 아니라 설정이 학생 정보 시스템에서 전달되므로 연결 및 권한 부여 설정도 테스트할 수 있습니다. 이렇게 하면 LIS 통합을 수립하고 심사하는 작업을 별도로 수행할 수 있습니다.
샘플 데이터
이 주제에서 사용된 샘플 데이터 집합(bbdn-lis_samples)은 Blackboard GitHub 저장소에서 .zip 파일로 복제하거나 다운로드할 수 있습니다.