Het is mogelijk om een LIS-integratie te testen zonder verbinding met een SIS. Dit is iets ingewikkelder dan met de andere integratietypen, gezien de vereiste om a) te binden met de webservices, waarvoor een toepassing nodig is die SOAP-aanvragen beheert, en b) een verschil in gegevensopmaak tussen de door het SIS gegenereerde gegevens op SOAP-basis en de gegevens die worden gebruikt voor de optie Bestand uploaden die beschikbaar is in de UI. Hieronder wordt uitgelegd hoe je een LIS-integratie kunt testen met behulp van zowel de webservices met LIS-ondersteuning als de UI.

LIS 2.0 - gegevensindeling


LIS-integratie testen

Door de LIS-integratie te testen vanuit een functioneel perspectief voordat je het SIS daadwerkelijk verbindt met de integratie, kun je de juiste werking van de configuratie controleren aan de Learn-zijde van de integratie. Als je zeker weet dat LIS-aanvragen goed worden afgehandeld door Learn en er vervolgens problemen optreden wanneer je verbinding maakt met het SIS, weet je al dat je de oorzaak aan de kant van het SIS moet zoeken. Nadat je hebt getest met de beschikbaar gestelde voorbeelden, kun je overwegen LIS-uitvoer te extraheren uit je SIS en het testen zonder verbinding op deze manier uit te breiden voordat je het SIS gaat verbinden met Learn, om zo ook weer het aantal variabelen in het testscenario te beperken.

LIS-integraties zijn gebaseerd op webservices en gebruiken SOAP voor het gegevenstransport. SOAP is een protocol op basis van de XML-berichtindeling dat de uitwisseling van gestructureerde gegevens mogelijk maakt.

Er zijn twee manieren om gegevens in Learn te plaatsen die voldoen aan de LIS-indeling: via de eindpunten van een webservice of door XML-bestanden te uploaden.


Testen met behulp van eindpunten van webservice

Nadat je de LIS-integratie hebt geconfigureerd, moet je de eindpunten van de webservices noteren. Deze heb je namelijk nodig als je de testomgeving gaat configureren. De eindpunten voor LIS-integratie kun je opvragen via de koppeling Informatie over webservice in een geconfigureerde LIS-integratie.

Daarnaast moet je de gebruikersnaam en het wachtwoord onthouden die je hebt ingevoerd voor de integratie. Deze informatie kun je opvragen via de optie Bewerken in het menu van de integratie.

SoapUI

Voor het testen van de webservices heb je een tool nodig die SOAP-berichten kan posten naar het eindpunt van een webservice. In de volgende voorbeelden gebruiken we hiervoor de tool SoapUI. SoapUI kun je downloaden op www.soapui.org. SoapUI is een gratis en open source-oplossing voor functionele tests van verschillende platforms waarmee je snel en gemakkelijk functionele tests en belastingtests voor webservices kunt samenstellen en uitvoeren.

Hoewel we in de volgende demonstratie dus SoapUI gebruiken, kun je ook een andere tool gebruiken die deze mogelijkheden biedt.

Als je klaar bent met het testen van de LIS-integratie, kun je het SIS configureren voor het verzenden van gegevens naar de eindpunten voor de gewenste bewerkingen (zie de servicevoorbeelden).

SoapUI configureren

Naast de gegevens van de webservices heb je de gebruikersnaam en het wachtwoord voor de integratie nodig. Deze gegevens kun je opvragen via het menu Bewerken van de opgeslagen integratie. Deze gebruikersnamen en het bijbehorende wachtwoord worden gebruikt voor het verifiëren van de toegang tot en het identificeren van de gerelateerde instantie van de LIS-integratie.

  1. Open SoapUI.
  2. Selecteer Preferences in het menu File.
  3. Schakel op het tabblad HTTP Settings de optie Adds authentication information to outgoing request in.
  4. Selecteer OK.

URL's van WSDL opvragen

Elke geteste service vereist een WSDL voor constructie van de ondersteunde methoden. De WSDL-URL is de waarde voor 'URL van eindpunt' onder 'Lokale webservices van Learn', uitgebreid met ".wsdl" aan het einde. De uiteindelijke WSDL-URL ziet er ongeveer zo uit:

https://<yourserver>/webapps/bb-data-integration-lis-BBLEARN/services/PersonManagementServiceSyncService .wsdl

Je moet vier van deze WDL's maken. één voor elke service die je wilt testen:

CourseSectionManagerSyncService

GroupManagementSyncService

MembershipManagementSyncService

PersonManagementSyncService

dataSetStatus is geen LIS-service maar een door Learn aangeboden service voor het monitoren van activiteit binnen de integratie.

Fout in SoapUI oplossen dat tekens groter dan vier bytes niet worden ondersteund

In sommige installaties van SoapUI kan deze fout optreden tijdens het laden van de WSDL: "org.apache.xmlbeans.XmlException: java.io.CharConversionException: Characters larger than 4 bytes are not supported: byte 0x96 implies a length of more than 4 byte".

Je kunt deze fout als volgt oplossen:

  • Open de map 'bin' in de installatiemap van SoapUI en zoek het bestand "soapUI-4.6.4.vmoptions". Open het bestand in een teksteditor en voeg deze regel toe:

    -Dfile.encoding=UTF8

  • Sla het bestand op, sluit SoapUI af, open het programma weer en laad de WSDL opnieuw.

Het is mogelijk dat je 'Beheerservice voor bulkoverdracht van gegevens' niet helemaal op dezelfde manier kunt testen met SoapUI omdat de service toegang nodig heeft tot een bestandsserver om het gegevensbestand te openen. Zie "Beheerservice voor bulkoverdracht testen met SoapUI" verderop in dit onderwerp voor meer informatie.


SoapUI-projecten maken voor testen

Elke service die je wilt testen, moet je als een project toevoegen aan SoapUI. Dit is de procedure voor het instellen van SoapUI voor het testen van de service PersonManagementServiceSyncService.

  1. Gebruik het menu of druk op 'Ctrl+n' om een nieuw SoapUI-project te maken.
  2. Geef een naam op voor het project. Omdat dit project bedoeld is voor de Person-service, gebruiken we de naam LIS Persons.
  3. Ga naar het veld Initial WSDL en plak hier de WSDL-URL die je hierboven hebt samengesteld voor de PersonManagementServiceSyncService.

    Deze WSDL is de URL van het Learn-eindpunt voor de service die je test met de extensie '.wsdl'.

  4. Selecteer OK.
  5. Nadat de servicesjablonen zijn gemaakt, selecteer je de projectinterface om de Interface Viewer van het project te openen. Hier pas je het eindpunt voor de service (bij Endpoint) aan op basis van de URL die je hebt gekopieerd op de pagina Informatie over webservice van de integratie.
  6. Neem de gebruikersnaam (Username) over van de configuratiepagina van de integratie.
  7. Neem het wachtwoord (Password) over van de configuratiepagina van de integratie.

Deze gegevens worden gebruikt voor alle services van het project. De gebruikersnaam en het wachtwoord vormen de verificatiegegevens die nodig zijn om de doelintegratie te identificeren en de services te raadplegen.

Als je de instellingen op het tabblad Service Endpoints wijzigt, moet je de knop Assign selecteren en vervolgens de optie '- All Requests -' om het project bij te werken. Als je dat niet doet, kunnen er SOAP-fouten optreden.

Als je projecten wilt maken voor Course, Membership en Group, moet je stappen 1-5 herhalen. Hoewel SoapUI meerdere WSDL's per project ondersteunt, is het makkelijker om de services gescheiden te houden als er vier projecten worden gemaakt.


De integratie testen

SoapUI genereert aanvraagsjablonen op basis van de aangeboden WSDL's, die wel handig zijn om de indeling van de met LIS beheerde objecten te begrijpen, maar die niet geschikt zijn voor verzending naar Learn. Het is overigens geen probleem om de WSDL's te versturen, maar je krijgt dan een fout van Learn retour.

Testen is alleen mogelijk door een geschikte gegevensset te versturen. De onderstaande voorbeelden kunnen worden gebruikt om eerste tests uit te voeren, waarna je echte gegevens uit het SIS kunt gebruiken.

LIS-implementaties van Blackboard Learn 9.1 SP14 en eerder ondersteunen alleen replace-services. Je kunt controleren welke services worden ondersteund door de gegenereerde aanvraagsjablonen te verzenden. Voor niet-ondersteunde services wordt een unsupported-fout geretourneerd.

De PersonManagementServiceSyncService testen

  1. Vouw de structuur uit onder de service die je test (deze moet zichtbaar zijn nadat het nieuwe project is gemaakt). In dit voorbeeld is  replacePerson uitgevouwen.
  2. Maak een nieuwe aanvraag en geef deze de naam SampleReplacePerson
  3. De aanvraag-viewer wordt geopend met een sjabloon van een replacePerson-aanvraag. Kopieer de tekst uit SampleReplacePersonRequest.xml en plak deze in de aanvraagweergave om de gegenereerde sjabloon te vervangen.
  4. Selecteer het pictogram Submit Request.
  5. Je ziet de resultaten van de aanvraag in de aanvraagweergave rechts van de SOAP-XML die je hebt opgegeven.

Herhaal stappen 1-5 voor de overige projecten/interfaces met behulp van de geleverde voorbeeldbestanden. Op deze manier weet je zeker dat er geen problemen zijn met de configuratie van de integratie voordat je gaat testen met 'echte' gegevens of verbinding gaat maken met het SIS. Je kunt dit proces ook gebruiken voor het testen van geëxtraheerde of met de hand samengestelde gegevenssets.

De geretourneerde referentiecode kun je vastleggen om de voortgang van de aanvraag te volgen.


Testen door bestandsupload via de UI

Het SIS Framework van Learn ondersteunt het uploaden van XML-bulkbestanden via de UI. In dit voorbeeld worden de verschillen uitgelegd tussen bulkbestanden en de gebeurtenisnotatie die door het SIS wordt verstuurd naar de LIS-eindpunten.

De bestandsindeling voor bulkbestanden, die worden gebruikt voor uploaden via de integratie-UI, vereist een aangepaste versie van XML ten opzichte van wat er door het SIS wordt doorgegeven aan de eindpunten. Zie SampleBulkRequest_PersonCourseMemberTerm.xml in de uploadvoorbeelden in de onderstaande downloadbare voorbeeldset.

Indeling van bulkbestand

Wanneer een LIS-compatibel SIS communiceert met Learn, wordt er door het SIS een volledig opgemaakt SOAP-bericht verzonden naar de eindpunten van de webservices. Dit SOAP-bericht bevat een wrapper rond de XML-gegevens van LIS. Deze informatie is niet nodig voor een handmatige gegevensupload en als deze wordt opgenomen, treedt er een invoerfout op. In gegevensset 1.0 hieronder zie je een ingekort voorbeeld van een object Person (User). Een volledige beschrijving van de gegevensindeling voor elk ondersteund object vind je in LIS 2.0 - gegevensindeling.

<?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&gt; <!-- ID for logging -->
     </parameterRecord>
     <parameterRecord>
       <parameterInvoc>In</parameterInvoc>
       <parameterName>personRecord</parameterName>
       <parameterType>PersonRecord</parameterType>
       <parameterValue>
         <personRecord>
           <sourcedGUID>
             <refAgentInstanceID>unknown</refAgentInstanceID>
             <sourcedId>55555</sourcedId&gt; <!-- batch_uid (for real) -->
           </sourcedGUID>
           <person&gt; <!-- 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&gt; <!-- 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 -->

Gegevensset 1.0: LIS-voorbeeldgegevens voor gebruik in een LIS-uploadbestand in de UI van Learn. Het volledige bestand is beschikbaar in de voorbeeldset die kan worden gedownload via de onderstaande koppeling.

LIS SOAP-XML aanpassen voor uploaden

Voor bulkgegevensbestanden moeten in ieder geval de begin- en eindtags voor SOAP-ENV:Envelope en SOAP-ENV:Body worden verwijderd in een door LIS gegenereerd bericht en moeten deze worden vervangen door de begin- en eindtags voor bulkDataRecord. Dit is ook gebeurd in de bovenstaande, ingekorte gegevensset. Bij het uitvoeren van meerdere transacties (bijvoorbeeld voor personen, cursussen en lidmaatschappen) in één bestand, moeten deze worden omsloten door extra transactionRecord-tags (zie het volledig voorbeeld).

Testen

Als je de gegevensbestanden hebt voorbereid, kies je Invoerbestand uploaden in het menu van de LIS-integratie.

Je wordt omgeleid naar de uploadpagina waar je het bestand kunt selecteren dat je wilt uploaden. Selecteer voor dit voorbeeld het beschikbaar gestelde voorbeeldbestand: SampleBulkRequest_PersonCourseMemberTerm.xml.

Nadat je het bestand hebt verzonden, ga je terug naar de pagina Integratie. Als je de resultaten van de test wilt bekijken, kun je via de UI voor de beheerder de objecten controleren die zijn gemaakt of bijgewerkt. Een andere mogelijkheid is om via de logweergave van het SIS Framework het logboek voor de integratie in te zien.

Als je dit logboek wilt weergeven, selecteer je Logbestand bekijken in het menu van de integratie om naar de pagina met logboeken voor de integratie te gaan.

Als je een vastgelegd bericht nader wilt bekijken, selecteer je de regel met het bericht in de lijst. Je ziet de details van het bericht dan in het gebied Berichtdetails onder de berichtenlijst.

Deze details bevatten informatie die handig is voor het oplossen van het probleem. Bijvoorbeeld:

<feb _x0032_0=""&gt; 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

In de bovenstaande berichtdetails wordt een mislukte bewerking replaceMembership beschreven, met name een onjuiste cursusrol (vetgedrukte tekst). De geposte aanvraag is opgenomen in de details en we kunnen zien dat de rollen onjuist zijn opgegeven als "Learner". Als we ze wijzigen in "Student" en opnieuw verzenden, zal de aanvraag replaceMembership zonder problemen worden uitgevoerd.


De bulkservice testen met SoapUI

Als je het testen van aanvragen voor de bulkservice wilt gaan voorbereiden, werkt dit hetzelfde als bij de andere services, met één uitzondering: je moet een bestandsserver opgeven die toegankelijk is voor de Learn-toepassingsserver om het bulkgegevensbestand op te halen dat wordt gebruikt door de LIS-service.

De architectuur van de webservice Beheerservice voor bulkoverdracht van gegevens bestaat uit drie onderdelen: de client (in dit geval SoapUI), de LIS-instantie in de testinstantie van Learn en een bestandsserver. De client verstuurt een SOAP-bericht naar de webservice Beheerservice voor bulkoverdracht van gegevens. De aanvraag van de client bevat de URL van het batchbestand dat moet worden verwerkt (dat is opgeslagen op de bestandsserver) en welke bewerking er moet worden uitgevoerd.

De mogelijke bewerkingen die met de webservice Beheerservice voor bulkoverdracht van gegevens kunnen worden uitgevoerd op een batchbestand zijn beperkt tot de set bewerkingen voor webservices die met de andere webservices kunnen worden uitgevoerd voor de LIS-instantie. In het geval van 9.1 SP 14 en eerder betreft het uitsluitend vervangbewerkingen.

Als er problemen optreden met de checksum, kun je het controleren van de checksum uitschakelen via Gegevensintegratie - LIS-instellingen.

LIS-configuratie

  1. Open de geconfigureerde LIS-integratie (of maak er een) en noteer de waarde van Gedeelde gebruikersnaam.
  2. Vul onder Integratie-eigenschappen de volgende gegevens in en maak er een notitie van:
    1. Gedeeld wachtwoord
    2. Gebruikersnaam batch-webservice
    3. Wachtwoord batch-webservice
    4. Gebruikersnaam voor downloaden van batchbestanden (gebruik hier dezelfde naam als bij Gebruikersnaam batch-webservice voor dit voorbeeld)
    5. Wachtwoord voor downloaden van batchbestanden (gebruik hier dezelfde naam als bij Wachtwoord batch-webservice voor dit voorbeeld)
    6. URL voor batch-webservice SIS Learning Information Services: http://localhost:8081/
      Dit is het adres van de HTTPD-service die het bestanden levert aan de LIS-bulkservice en dit moet verwijzen naar de specifieke configuratie.
  3. Stel Integratiestatus in op Actief.
  4. Stel Detailniveau logboeken in op Alle diagnose- en foutopsporingsberichten.
  5. Stel Gegevensbron van Learn in op Gebruik dezelfde gegevensbron van Learn voor alle nieuwe inkomende gegevens.
  6. Selecteer Verzenden.

De ondersteunende HTTPD-bestandsservice instellen

Download het volgende bestand en pak het uit naar de server waarop je de testbestanden gaat opslaan.

Download het bestand SampleBulkRequest_PersonCourseMemberTerm.xml en zet het in de map van waaruit de bestanden beschikbaar zullen worden gesteld.

De HTTPD-bestandsservice testen

java -jar SimpleHttpServer.jar

Gebruik: java SimpleHttpServer <port number> <path to directory to serve files from> <username> <password>

Bijvoorbeeld:

java -jar SimpleHttpServer.jar 8081 /Users/moneil/Desktop/LISTEST moneil moneil
Server running on port 8081. Hit Ctrl-C to quit.

Benader de server via je browser om aflevering van het bestand te testen. Bijvoorbeeld:

http://10.0.1.16:8081/SampleBulkRequest_PersonCourseMemberTerm.xml

SoapUI instellen voor testen

Het instellen van SoapUI voor het testen van Beheerservice voor bulkoverdracht van gegevens is hetzelfde als voor de andere LIS-services.

De URL/WSDL voor de service opvragen

  1. Ga naar de pagina Integraties van studenteninformatiesystemen in de testinstantie van Learn.
  2. Selecteer in de sectie LIS-configuratie de contextpunthaak voor de gemaakte LIS-integratie.
  3. Selecteer de optie Informatie over webservice.
  4. De WSDL-URL is de waarde voor URL van eindpunt voor Beheerservice voor bulkoverdracht van gegevens onder Lokale webservices van Learn, uitgebreid met ".wsdl" aan het einde.

Configuratie van SoapUI

  1. Open SoapUI.
  2. Selecteer Preferences in het menu File.
  3. Schakel op het tabblad HTTP Settings de optie Adds authentication information to outgoing request in.
  4. Selecteer OK.
  5. Druk op Ctrl+n.
  6. Plak de WSDL-URL in het veld Initial WSDL.
  7. Selecteer OK.
  8. Vouw de structuur onder announceBulkDataExchange uit (deze moet zichtbaar zijn nadat het nieuwe project is gemaakt).
  9. Nadat de servicesjablonen zijn gemaakt, selecteer je de projectinterface om de Interface Viewer van het project te openen. Hier doe je het het volgende:
    1. Pas het eindpunt voor de service (bij Endpoint) aan op basis van de URL die je hebt gekopieerd op de pagina Informatie over webservice van de integratie.
    2. Neem de gebruikersnaam (Username) over van de configuratiepagina van de integratie.
    3. Neem het wachtwoord (Password) over van de configuratiepagina van de integratie.

De test uitvoeren

Open de aanvraag announceBulkDataExchange en kopieer en plak de onderstaande inhoud van gegevensset 2 naar de aanvraagweergave.

Vervang het element <ims:url> in het voorbeeld door de URL van de testserver! Het is ook belangrijk dat de URL op één regel staat.

<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>

Gegevensset 2: BulkDataRequest

Aandachtspunten om zelf een testbestand te maken

De elementen ims:imsx_messageIdentifier, ims:transactionId en ims:bulkBlockManifestId moeten allemaal dezelfde waarde hebben (123456 in dit voorbeeld). De elementen ims:expiryDate en ims:savePoint moeten ook dezelfde waarde hebben (in het bovenstaande voorbeeld wordt de waarde 2020-10-01T12:00:00 gebruikt).

Het object ims:bulkBlockDataFile vertegenwoordigt één batchbestand dat moet worden verwerkt. Het element ims:url is de URL voor de locatie van het testinvoerbestand op de bestandsserver. Het element ims:totalSize is de totale grootte, in bytes, van het testinvoerbestand (gebruik 'ls -l' in Linux of dir in Windows). Het element ims:checkSum is de md5-hash van het testbestand (gebruik md5sum in Linux of gebruik een vergelijkbaar programma of Cygwin in Windows).

Het object ims:serviceRecord geeft aan hoe het invoerbestand wordt verwerkt; er kan meer dan een ims:serviceRecord bestaan in één element ims:bulkBlockDataFile. Het element ims:serviceName verwijst naar de LIS-webservice waarvan de bewerkingen worden aangeroepen voor het verwerken van het opgegeven invoerbestand. Het element ims:interfaceName is de interface in de LIS SIS-code die wordt gebruikt als de index van beschikbare methoden om aan te roepen. Het object ims:operationSet bevat de lijst met methoden (vermeld als een element ims:operationName) die moeten worden aangeroepen voor verwerking van het invoerbestand.

De testaanvraag uitvoeren

Je kunt de aanvraag uitvoeren door in de linkerbovenhoek van het frame voor de aanvraag de groene afspeelknop te selecteren.

Dit is de respons voor de bovenstaande aanvraag:

<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>


Samengevat

Door de integratie handmatig te testen voordat er daadwerkelijk verbinding wordt gemaakt met het SIS, kun je eerst controleren of de configuratie van Learn zonder problemen werkt. Test de UI om snel de gegevens en het gedrag van instellingen te testen. Tests met behulp van de SoapUI-toolset maken het niet alleen mogelijk om gegevens en gedrag te testen, maar ook connectiviteit en autorisatie-instellingen zoals deze vanuit het SIS worden doorgegeven. Op deze manier kun je taken scheiden om de LIS-integratie tot stand te brengen en te testen.


Voorbeeldgegevens

De set met voorbeeldgegevens (bbdn-lis_samples) die we in dit onderwerp hebben gebruikt, kan worden gekloond of worden gedownload als een ZIP-bestand uit de GitHub-repository van Blackboard.