Version 399.1 von Carina Enke am 13.02.2024

Zeige letzte Bearbeiter
1 (% data-xwiki-non-generated-content="java.util.List" %)
2 (((
3 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
4
5 (% data-xwiki-non-generated-content="java.util.List" %)
6 (((
7 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
8
9 (% data-xwiki-non-generated-content="java.util.List" %)
10 (((
11 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
12 )))
13
14 {{layout-cell}}
15
16 {{/layout-cell}}
17
18 (% data-xwiki-non-generated-content="java.util.List" %)
19 (((
20 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
21
22 (% data-xwiki-non-generated-content="java.util.List" %)
23 (((
24 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
25
26 {{toc start="2"/}}
27
28 **Weitere Informationen:**
29
30 * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
31 )))
32
33 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
34 {{toc start="2"/}}
35
36 **Weitere Informationen:**
37
38 * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
39 {{/panel}}
40 )))
41
42 {{layout-cell}}
43 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
44 {{toc start="2"/}}
45
46 **Weitere Informationen:**
47
48 * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
49 {{/panel}}
50 {{/layout-cell}}
51 )))
52
53 {{layout-section ac:type="two_right_sidebar"}}
54 {{layout-cell}}
55
56 {{/layout-cell}}
57
58 {{layout-cell}}
59 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
60 {{toc start="2"/}}
61
62 **Weitere Informationen:**
63
64 * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
65 {{/panel}}
66 {{/layout-cell}}
67 {{/layout-section}}
68
69 (% data-xwiki-non-generated-content="java.util.List" %)
70 (((
71 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
72
73 (% data-xwiki-non-generated-content="java.util.List" %)
74 (((
75 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
76
77 == Allgemeines ==
78
79 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
80
81 (% class="wrapped" %)
82 |(((
83 armSite
84 )))|(((
85 Anmeldung von Folgerequests beim ONYX Reporter.
86 )))
87 |(((
88 initiateSite
89 )))|(((
90 Initiiert die Reporter-Session (Übertragung des CPs).
91 )))
92 |(((
93 disarmSite
94 )))|(((
95 Freigabe von allen Reporter-Ressourcen für diese Session.
96 )))
97 |(((
98 getResultValues
99 )))|(((
100 Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
101 )))
102 |(% colspan="1" %)(% colspan="1" %)
103 (((
104 getResultVariables
105 )))|(% colspan="1" %)(% colspan="1" %)
106 (((
107 Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
108 )))
109
110 == Anmeldung des LMS ==
111
112 (% data-xwiki-non-generated-content="java.util.List" %)
113 (((
114 " data-xwiki-parameter-name="title" class="xwiki-metadata-container">Anmeldung des LMS
115 )))
116
117 {{code language="xml" title="Anmeldung des LMS"}}
118 @WebMethod(operationName = „armSite")
119 public String armSite(
120 @WebParam(name = „version") final Integer version,
121 @WebParam(name = „userId") final String userId,
122 @WebParam(name = „optionalRole") final Integer role,
123 @WebParam(name = „secretToShare") final String secretToShare,
124 @WebParam(name = „optionalUserLastName") final String userLastName,
125 @WebParam(name = „optionalUserFirstName") final String userFirstName,
126 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
127 }
128 {{/code}}
129
130 === Parameter armSite ===
131
132 (% class="wrapped" %)
133 |(((
134 version
135 )))|(((
136 Angefragte Version: 1
137 )))
138 |(((
139 userId
140 )))|(((
141 UserId des anfragenden Reporter-Benutzers
142 )))
143 |(((
144 optionalRole
145 )))|(((
146 Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
147 )))
148 |(((
149 secretToShare
150 )))|(((
151 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
152 )))
153 |(((
154 optionalUserLastName
155 )))|(((
156 Optional. Nachname des Benutzers.
157 )))
158 |(% colspan="1" %)(% colspan="1" %)
159 (((
160 optionalUserFirstName
161 )))|(% colspan="1" %)(% colspan="1" %)
162 (((
163 Optional. Vorname des Benutzers.
164 )))
165 |(% colspan="1" %)(% colspan="1" %)
166 (((
167 additionalParams
168 )))|(% colspan="1" %)(% colspan="1" %)
169 (((
170 Reserved for future use.
171 )))
172
173 === ReturnValue armSite ===
174
175 (% class="wrapped" %)
176 |(((
177 String
178 )))|(((
179 Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
180 )))
181
182 == Initialisierung durch LMS ==
183
184 (% data-xwiki-non-generated-content="java.util.List" %)
185 (((
186 " data-xwiki-parameter-name="title" class="xwiki-metadata-container">Initialisierung durch LMS
187 )))
188
189 {{code language="xml" title="Initialisierung durch LMS"}}
190 @WebMethod(operationName = „initiateSite")
191 public String initiateSite(
192 @WebParam(name = „version") final Integer version,
193 @WebParam(name = „sessionId") final String sessionId,
194 @WebParam(name = „secretToShare") final String secretToShare,
195 @WebParam(name = „students") final ArrayList<ResultsForStudent> students,
196 @WebParam(name = „optionalContentPackage") final byte[] contentPackage,
197 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
198 }
199 {{/code}}
200
201 === Parameter initiateSite ===
202
203 (% class="wrapped" %)
204 |(((
205 version
206 )))|(((
207 Angefragte Version: 1
208 )))
209 |(% colspan="1" %)(% colspan="1" %)
210 (((
211 sessionId
212 )))|(% colspan="1" %)(% colspan="1" %)
213 (((
214 SessionId, wie von armSite zurück geliefert.
215 )))
216 |(((
217 secretToShare
218 )))|(((
219 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
220 )))
221 |(((
222 students
223 )))|(((
224 Liste der Studenten mit ihren Resultaten. Siehe unten.
225 )))
226 |(((
227 optionalContentPackage
228 )))|(((
229 Optional. Content Package (gezippt) als Byte-Array.
230 )))
231 |(((
232 additionalParams
233 )))|(((
234 Reserved for future use.
235 )))
236
237 === ReturnValue initiateSite ===
238
239 (% class="wrapped" %)
240 |(((
241 String
242 )))|(((
243 Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
244
245 * sid: Session ID, wie von armSite zurück gegeben
246 * uid: Student ID, wie in initiateSite beim Reporter angemeldet
247 )))
248
249 {{code language="xml"}}
250 public class ResultsForStudent {
251    private String studentId = „";
252    private String firstname = „";
253    private String lastname = „";
254    private String groupname = „";
255    private String tutorname = „";
256    private File contentFile = null;
257    private byte[] resultsFile = null;
258 }
259 {{/code}}
260
261 == Abmeldung durch LMS ==
262
263
264 {{code}}
265 @WebMethod(operationName = „disarmSite")
266 public Boolean disarmSite(
267 @WebParam(name = „version") final Integer version,
268 @WebParam(name = „sessionId") final String sessionId,
269 @WebParam(name = „secretToShare") final String secretToShare,
270 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
271 }
272 {{/code}}
273
274
275 === Parameter disarmSite ===
276
277 (% class="wrapped" %)
278 |(((
279 version
280 )))|(((
281 Angefragte Version: 1
282 )))
283 |(% colspan="1" %)(% colspan="1" %)
284 (((
285 sessionId
286 )))|(% colspan="1" %)(% colspan="1" %)
287 (((
288 SessionId, wie von armSite zurück geliefert.
289 )))
290 |(((
291 secretToShare
292 )))|(((
293 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
294 )))
295 |(((
296 additionalParams
297 )))|(((
298 Reserved for future use.
299 )))
300
301 === ReturnValue disarmSite ===
302
303 (% class="wrapped" %)
304 |(((
305 Boolean
306 )))|(((
307 True bei Erfolg, sonst false.
308 )))
309
310 == Abfrage von Lernerresultaten durch LMS ==
311
312 (% data-xwiki-non-generated-content="java.util.List" %)
313 (((
314 " data-xwiki-parameter-name="title" class="xwiki-metadata-container">Abfrage von Lernerresultaten durch LMS
315 )))
316
317 {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
318  @WebMethod(operationName = „getResultValues")
319 public HashMapWrapper getResultValues(
320 @WebParam(name = „version") final Integer version,
321 @WebParam(name = „sessionId") final String sessionId,
322 @WebParam(name = „secretToShare") final String secretToShare,
323 @WebParam(name = „requestedValues") final HashMap<String, String>
324 requestedValues,
325 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
326 }
327 {{/code}}
328
329 === Parameter getResultValues ===
330
331 (% class="wrapped" %)
332 |(((
333 version
334 )))|(((
335 Angefragte Version: 1
336 )))
337 |(% colspan="1" %)(% colspan="1" %)
338 (((
339 sessionId
340 )))|(% colspan="1" %)(% colspan="1" %)
341 (((
342 SessionId, wie von armSite zurück geliefert.
343 )))
344 |(((
345 secretToShare
346 )))|(((
347 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
348 )))
349 |(((
350 requestedValues
351 )))|(((
352 Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
353 )))
354 |(((
355 additionalParams
356 )))|(((
357 Reserved for future use.
358 )))
359
360 === ReturnValue getResultValues ===
361
362 (% class="wrapped" %)
363 |(((
364 HashMap<String, String>
365 )))|(((
366 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
367 )))
368
369 == Abfrage von Ergebnisvariablen durch LMS ==
370
371 (% data-xwiki-non-generated-content="java.util.List" %)
372 (((
373 " data-xwiki-parameter-name="title" class="xwiki-metadata-container">Abfrage von Ergebnisvariablen durch LMS
374 )))
375
376 {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
377  @WebMethod(operationName = „getResultVariables")
378 public HashMapWrapper getResultVariables(
379 @WebParam(name = „version") final Integer version,
380 @WebParam(name = „contentPackage") final byte[] contentPackage,
381 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
382 }
383 {{/code}}
384
385 === Parameter getResultVariables ===
386
387 (% class="wrapped" %)
388 |(((
389 version
390 )))|(((
391 Angefragte Version: 1
392 )))
393 |(((
394 contentPackage
395 )))|(((
396 Content Package (gezippt) als Byte-Array.
397 )))
398 |(((
399 additionalParams
400 )))|(((
401 Reserved for future use.
402 )))
403
404 === ReturnValue getResultVariables ===
405
406 (% class="wrapped" %)
407 |(((
408 HashMap<String, String>
409 )))|(((
410 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
411 )))
412
413 == Wrapper ==
414
415 Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
416
417 === Wrapper für die HashMap<String, String> ===
418
419 HashMapWrapper.java:
420
421 [[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
422
423 [[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
424
425 === Wrapper für die ArrayList<ResultsForStudent> ===
426
427 ResultsForStudentsWrapper.java:
428
429 [[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
430 )))
431
432 {{layout-cell}}
433 == Allgemeines ==
434
435 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
436
437 (% class="wrapped" %)
438 |(((
439 armSite
440 )))|(((
441 Anmeldung von Folgerequests beim ONYX Reporter.
442 )))
443 |(((
444 initiateSite
445 )))|(((
446 Initiiert die Reporter-Session (Übertragung des CPs).
447 )))
448 |(((
449 disarmSite
450 )))|(((
451 Freigabe von allen Reporter-Ressourcen für diese Session.
452 )))
453 |(((
454 getResultValues
455 )))|(((
456 Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
457 )))
458 |(% colspan="1" %)(% colspan="1" %)
459 (((
460 getResultVariables
461 )))|(% colspan="1" %)(% colspan="1" %)
462 (((
463 Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
464 )))
465
466 == Anmeldung des LMS ==
467
468 {{code language="xml" title="Anmeldung des LMS"}}
469 @WebMethod(operationName = „armSite")
470 public String armSite(
471 @WebParam(name = „version") final Integer version,
472 @WebParam(name = „userId") final String userId,
473 @WebParam(name = „optionalRole") final Integer role,
474 @WebParam(name = „secretToShare") final String secretToShare,
475 @WebParam(name = „optionalUserLastName") final String userLastName,
476 @WebParam(name = „optionalUserFirstName") final String userFirstName,
477 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
478 }
479 {{/code}}
480
481 === Parameter armSite ===
482
483 (% class="wrapped" %)
484 |(((
485 version
486 )))|(((
487 Angefragte Version: 1
488 )))
489 |(((
490 userId
491 )))|(((
492 UserId des anfragenden Reporter-Benutzers
493 )))
494 |(((
495 optionalRole
496 )))|(((
497 Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
498 )))
499 |(((
500 secretToShare
501 )))|(((
502 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
503 )))
504 |(((
505 optionalUserLastName
506 )))|(((
507 Optional. Nachname des Benutzers.
508 )))
509 |(% colspan="1" %)(% colspan="1" %)
510 (((
511 optionalUserFirstName
512 )))|(% colspan="1" %)(% colspan="1" %)
513 (((
514 Optional. Vorname des Benutzers.
515 )))
516 |(% colspan="1" %)(% colspan="1" %)
517 (((
518 additionalParams
519 )))|(% colspan="1" %)(% colspan="1" %)
520 (((
521 Reserved for future use.
522 )))
523
524 === ReturnValue armSite ===
525
526 (% class="wrapped" %)
527 |(((
528 String
529 )))|(((
530 Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
531 )))
532
533 == Initialisierung durch LMS ==
534
535 {{code language="xml" title="Initialisierung durch LMS"}}
536 @WebMethod(operationName = „initiateSite")
537 public String initiateSite(
538 @WebParam(name = „version") final Integer version,
539 @WebParam(name = „sessionId") final String sessionId,
540 @WebParam(name = „secretToShare") final String secretToShare,
541 @WebParam(name = „students") final ArrayList<ResultsForStudent> students,
542 @WebParam(name = „optionalContentPackage") final byte[] contentPackage,
543 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
544 }
545 {{/code}}
546
547 === Parameter initiateSite ===
548
549 (% class="wrapped" %)
550 |(((
551 version
552 )))|(((
553 Angefragte Version: 1
554 )))
555 |(% colspan="1" %)(% colspan="1" %)
556 (((
557 sessionId
558 )))|(% colspan="1" %)(% colspan="1" %)
559 (((
560 SessionId, wie von armSite zurück geliefert.
561 )))
562 |(((
563 secretToShare
564 )))|(((
565 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
566 )))
567 |(((
568 students
569 )))|(((
570 Liste der Studenten mit ihren Resultaten. Siehe unten.
571 )))
572 |(((
573 optionalContentPackage
574 )))|(((
575 Optional. Content Package (gezippt) als Byte-Array.
576 )))
577 |(((
578 additionalParams
579 )))|(((
580 Reserved for future use.
581 )))
582
583 === ReturnValue initiateSite ===
584
585 (% class="wrapped" %)
586 |(((
587 String
588 )))|(((
589 Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
590
591 * sid: Session ID, wie von armSite zurück gegeben
592 * uid: Student ID, wie in initiateSite beim Reporter angemeldet
593 )))
594
595 {{code language="xml"}}
596 public class ResultsForStudent {
597    private String studentId = „";
598    private String firstname = „";
599    private String lastname = „";
600    private String groupname = „";
601    private String tutorname = „";
602    private File contentFile = null;
603    private byte[] resultsFile = null;
604 }
605 {{/code}}
606
607 == Abmeldung durch LMS ==
608
609
610 {{code}}
611 @WebMethod(operationName = „disarmSite")
612 public Boolean disarmSite(
613 @WebParam(name = „version") final Integer version,
614 @WebParam(name = „sessionId") final String sessionId,
615 @WebParam(name = „secretToShare") final String secretToShare,
616 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
617 }
618 {{/code}}
619
620
621 === Parameter disarmSite ===
622
623 (% class="wrapped" %)
624 |(((
625 version
626 )))|(((
627 Angefragte Version: 1
628 )))
629 |(% colspan="1" %)(% colspan="1" %)
630 (((
631 sessionId
632 )))|(% colspan="1" %)(% colspan="1" %)
633 (((
634 SessionId, wie von armSite zurück geliefert.
635 )))
636 |(((
637 secretToShare
638 )))|(((
639 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
640 )))
641 |(((
642 additionalParams
643 )))|(((
644 Reserved for future use.
645 )))
646
647 === ReturnValue disarmSite ===
648
649 (% class="wrapped" %)
650 |(((
651 Boolean
652 )))|(((
653 True bei Erfolg, sonst false.
654 )))
655
656 == Abfrage von Lernerresultaten durch LMS ==
657
658 {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
659  @WebMethod(operationName = „getResultValues")
660 public HashMapWrapper getResultValues(
661 @WebParam(name = „version") final Integer version,
662 @WebParam(name = „sessionId") final String sessionId,
663 @WebParam(name = „secretToShare") final String secretToShare,
664 @WebParam(name = „requestedValues") final HashMap<String, String>
665 requestedValues,
666 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
667 }
668 {{/code}}
669
670 === Parameter getResultValues ===
671
672 (% class="wrapped" %)
673 |(((
674 version
675 )))|(((
676 Angefragte Version: 1
677 )))
678 |(% colspan="1" %)(% colspan="1" %)
679 (((
680 sessionId
681 )))|(% colspan="1" %)(% colspan="1" %)
682 (((
683 SessionId, wie von armSite zurück geliefert.
684 )))
685 |(((
686 secretToShare
687 )))|(((
688 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
689 )))
690 |(((
691 requestedValues
692 )))|(((
693 Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
694 )))
695 |(((
696 additionalParams
697 )))|(((
698 Reserved for future use.
699 )))
700
701 === ReturnValue getResultValues ===
702
703 (% class="wrapped" %)
704 |(((
705 HashMap<String, String>
706 )))|(((
707 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
708 )))
709
710 == Abfrage von Ergebnisvariablen durch LMS ==
711
712 {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
713  @WebMethod(operationName = „getResultVariables")
714 public HashMapWrapper getResultVariables(
715 @WebParam(name = „version") final Integer version,
716 @WebParam(name = „contentPackage") final byte[] contentPackage,
717 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
718 }
719 {{/code}}
720
721 === Parameter getResultVariables ===
722
723 (% class="wrapped" %)
724 |(((
725 version
726 )))|(((
727 Angefragte Version: 1
728 )))
729 |(((
730 contentPackage
731 )))|(((
732 Content Package (gezippt) als Byte-Array.
733 )))
734 |(((
735 additionalParams
736 )))|(((
737 Reserved for future use.
738 )))
739
740 === ReturnValue getResultVariables ===
741
742 (% class="wrapped" %)
743 |(((
744 HashMap<String, String>
745 )))|(((
746 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
747 )))
748
749 == Wrapper ==
750
751 Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
752
753 === Wrapper für die HashMap<String, String> ===
754
755 HashMapWrapper.java:
756
757 [[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
758
759 [[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
760
761 === Wrapper für die ArrayList<ResultsForStudent> ===
762
763 ResultsForStudentsWrapper.java:
764
765 [[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
766 {{/layout-cell}}
767 )))
768
769 {{layout-section ac:type="single"}}
770 {{layout-cell}}
771 == Allgemeines ==
772
773 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
774
775 (% class="wrapped" %)
776 |(((
777 armSite
778 )))|(((
779 Anmeldung von Folgerequests beim ONYX Reporter.
780 )))
781 |(((
782 initiateSite
783 )))|(((
784 Initiiert die Reporter-Session (Übertragung des CPs).
785 )))
786 |(((
787 disarmSite
788 )))|(((
789 Freigabe von allen Reporter-Ressourcen für diese Session.
790 )))
791 |(((
792 getResultValues
793 )))|(((
794 Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
795 )))
796 |(% colspan="1" %)(% colspan="1" %)
797 (((
798 getResultVariables
799 )))|(% colspan="1" %)(% colspan="1" %)
800 (((
801 Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
802 )))
803
804 == Anmeldung des LMS ==
805
806 {{code language="xml" title="Anmeldung des LMS"}}
807 @WebMethod(operationName = „armSite")
808 public String armSite(
809 @WebParam(name = „version") final Integer version,
810 @WebParam(name = „userId") final String userId,
811 @WebParam(name = „optionalRole") final Integer role,
812 @WebParam(name = „secretToShare") final String secretToShare,
813 @WebParam(name = „optionalUserLastName") final String userLastName,
814 @WebParam(name = „optionalUserFirstName") final String userFirstName,
815 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
816 }
817 {{/code}}
818
819 === Parameter armSite ===
820
821 (% class="wrapped" %)
822 |(((
823 version
824 )))|(((
825 Angefragte Version: 1
826 )))
827 |(((
828 userId
829 )))|(((
830 UserId des anfragenden Reporter-Benutzers
831 )))
832 |(((
833 optionalRole
834 )))|(((
835 Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
836 )))
837 |(((
838 secretToShare
839 )))|(((
840 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
841 )))
842 |(((
843 optionalUserLastName
844 )))|(((
845 Optional. Nachname des Benutzers.
846 )))
847 |(% colspan="1" %)(% colspan="1" %)
848 (((
849 optionalUserFirstName
850 )))|(% colspan="1" %)(% colspan="1" %)
851 (((
852 Optional. Vorname des Benutzers.
853 )))
854 |(% colspan="1" %)(% colspan="1" %)
855 (((
856 additionalParams
857 )))|(% colspan="1" %)(% colspan="1" %)
858 (((
859 Reserved for future use.
860 )))
861
862 === ReturnValue armSite ===
863
864 (% class="wrapped" %)
865 |(((
866 String
867 )))|(((
868 Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
869 )))
870
871 == Initialisierung durch LMS ==
872
873 {{code language="xml" title="Initialisierung durch LMS"}}
874 @WebMethod(operationName = „initiateSite")
875 public String initiateSite(
876 @WebParam(name = „version") final Integer version,
877 @WebParam(name = „sessionId") final String sessionId,
878 @WebParam(name = „secretToShare") final String secretToShare,
879 @WebParam(name = „students") final ArrayList<ResultsForStudent> students,
880 @WebParam(name = „optionalContentPackage") final byte[] contentPackage,
881 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
882 }
883 {{/code}}
884
885 === Parameter initiateSite ===
886
887 (% class="wrapped" %)
888 |(((
889 version
890 )))|(((
891 Angefragte Version: 1
892 )))
893 |(% colspan="1" %)(% colspan="1" %)
894 (((
895 sessionId
896 )))|(% colspan="1" %)(% colspan="1" %)
897 (((
898 SessionId, wie von armSite zurück geliefert.
899 )))
900 |(((
901 secretToShare
902 )))|(((
903 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
904 )))
905 |(((
906 students
907 )))|(((
908 Liste der Studenten mit ihren Resultaten. Siehe unten.
909 )))
910 |(((
911 optionalContentPackage
912 )))|(((
913 Optional. Content Package (gezippt) als Byte-Array.
914 )))
915 |(((
916 additionalParams
917 )))|(((
918 Reserved for future use.
919 )))
920
921 === ReturnValue initiateSite ===
922
923 (% class="wrapped" %)
924 |(((
925 String
926 )))|(((
927 Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
928
929 * sid: Session ID, wie von armSite zurück gegeben
930 * uid: Student ID, wie in initiateSite beim Reporter angemeldet
931 )))
932
933 {{code language="xml"}}
934 public class ResultsForStudent {
935    private String studentId = „";
936    private String firstname = „";
937    private String lastname = „";
938    private String groupname = „";
939    private String tutorname = „";
940    private File contentFile = null;
941    private byte[] resultsFile = null;
942 }
943 {{/code}}
944
945 == Abmeldung durch LMS ==
946
947
948 {{code}}
949 @WebMethod(operationName = „disarmSite")
950 public Boolean disarmSite(
951 @WebParam(name = „version") final Integer version,
952 @WebParam(name = „sessionId") final String sessionId,
953 @WebParam(name = „secretToShare") final String secretToShare,
954 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
955 }
956 {{/code}}
957
958
959 === Parameter disarmSite ===
960
961 (% class="wrapped" %)
962 |(((
963 version
964 )))|(((
965 Angefragte Version: 1
966 )))
967 |(% colspan="1" %)(% colspan="1" %)
968 (((
969 sessionId
970 )))|(% colspan="1" %)(% colspan="1" %)
971 (((
972 SessionId, wie von armSite zurück geliefert.
973 )))
974 |(((
975 secretToShare
976 )))|(((
977 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
978 )))
979 |(((
980 additionalParams
981 )))|(((
982 Reserved for future use.
983 )))
984
985 === ReturnValue disarmSite ===
986
987 (% class="wrapped" %)
988 |(((
989 Boolean
990 )))|(((
991 True bei Erfolg, sonst false.
992 )))
993
994 == Abfrage von Lernerresultaten durch LMS ==
995
996 {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
997  @WebMethod(operationName = „getResultValues")
998 public HashMapWrapper getResultValues(
999 @WebParam(name = „version") final Integer version,
1000 @WebParam(name = „sessionId") final String sessionId,
1001 @WebParam(name = „secretToShare") final String secretToShare,
1002 @WebParam(name = „requestedValues") final HashMap<String, String>
1003 requestedValues,
1004 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1005 }
1006 {{/code}}
1007
1008 === Parameter getResultValues ===
1009
1010 (% class="wrapped" %)
1011 |(((
1012 version
1013 )))|(((
1014 Angefragte Version: 1
1015 )))
1016 |(% colspan="1" %)(% colspan="1" %)
1017 (((
1018 sessionId
1019 )))|(% colspan="1" %)(% colspan="1" %)
1020 (((
1021 SessionId, wie von armSite zurück geliefert.
1022 )))
1023 |(((
1024 secretToShare
1025 )))|(((
1026 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1027 )))
1028 |(((
1029 requestedValues
1030 )))|(((
1031 Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
1032 )))
1033 |(((
1034 additionalParams
1035 )))|(((
1036 Reserved for future use.
1037 )))
1038
1039 === ReturnValue getResultValues ===
1040
1041 (% class="wrapped" %)
1042 |(((
1043 HashMap<String, String>
1044 )))|(((
1045 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1046 )))
1047
1048 == Abfrage von Ergebnisvariablen durch LMS ==
1049
1050 {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
1051  @WebMethod(operationName = „getResultVariables")
1052 public HashMapWrapper getResultVariables(
1053 @WebParam(name = „version") final Integer version,
1054 @WebParam(name = „contentPackage") final byte[] contentPackage,
1055 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1056 }
1057 {{/code}}
1058
1059 === Parameter getResultVariables ===
1060
1061 (% class="wrapped" %)
1062 |(((
1063 version
1064 )))|(((
1065 Angefragte Version: 1
1066 )))
1067 |(((
1068 contentPackage
1069 )))|(((
1070 Content Package (gezippt) als Byte-Array.
1071 )))
1072 |(((
1073 additionalParams
1074 )))|(((
1075 Reserved for future use.
1076 )))
1077
1078 === ReturnValue getResultVariables ===
1079
1080 (% class="wrapped" %)
1081 |(((
1082 HashMap<String, String>
1083 )))|(((
1084 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1085 )))
1086
1087 == Wrapper ==
1088
1089 Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
1090
1091 === Wrapper für die HashMap<String, String> ===
1092
1093 HashMapWrapper.java:
1094
1095 [[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1096
1097 [[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1098
1099 === Wrapper für die ArrayList<ResultsForStudent> ===
1100
1101 ResultsForStudentsWrapper.java:
1102
1103 [[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1104 {{/layout-cell}}
1105 {{/layout-section}}
1106
1107 (% data-xwiki-non-generated-content="java.util.List" %)
1108 (((
1109 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
1110
1111 (% data-xwiki-non-generated-content="java.util.List" %)
1112 (((
1113 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
1114 )))
1115
1116 {{layout-cell}}
1117
1118 {{/layout-cell}}
1119
1120 (% data-xwiki-non-generated-content="java.util.List" %)
1121 (((
1122 " data-xwiki-wikimacrocontent="true" class="xwiki-metadata-container">
1123
1124 ====== relevante Links: ======
1125
1126 * [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1127 )))
1128
1129 {{layout-cell}}
1130 ====== relevante Links: ======
1131
1132 * [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1133 {{/layout-cell}}
1134 )))
1135
1136 {{layout-section ac:type="two_right_sidebar"}}
1137 {{layout-cell}}
1138
1139 {{/layout-cell}}
1140
1141 {{layout-cell}}
1142 ====== relevante Links: ======
1143
1144 * [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1145 {{/layout-cell}}
1146 {{/layout-section}}
1147 )))
1148
1149 {{layout}}
1150 {{layout-section ac:type="two_right_sidebar"}}
1151 {{layout-cell}}
1152
1153 {{/layout-cell}}
1154
1155 {{layout-cell}}
1156 {{panel borderColor="#ddd" bgColor="#f0f0f0" borderStyle="solid" title="Inhalt"}}
1157 {{toc start="2"/}}
1158
1159 **Weitere Informationen:**
1160
1161 * [[Schnittstelle ONYX Player>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1162 {{/panel}}
1163 {{/layout-cell}}
1164 {{/layout-section}}
1165
1166 {{layout-section ac:type="single"}}
1167 {{layout-cell}}
1168 == Allgemeines ==
1169
1170 Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
1171
1172 (% class="wrapped" %)
1173 |(((
1174 armSite
1175 )))|(((
1176 Anmeldung von Folgerequests beim ONYX Reporter.
1177 )))
1178 |(((
1179 initiateSite
1180 )))|(((
1181 Initiiert die Reporter-Session (Übertragung des CPs).
1182 )))
1183 |(((
1184 disarmSite
1185 )))|(((
1186 Freigabe von allen Reporter-Ressourcen für diese Session.
1187 )))
1188 |(((
1189 getResultValues
1190 )))|(((
1191 Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung: Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
1192 )))
1193 |(% colspan="1" %)(% colspan="1" %)
1194 (((
1195 getResultVariables
1196 )))|(% colspan="1" %)(% colspan="1" %)
1197 (((
1198 Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
1199 )))
1200
1201 == Anmeldung des LMS ==
1202
1203 {{code language="xml" title="Anmeldung des LMS"}}
1204 @WebMethod(operationName = „armSite")
1205 public String armSite(
1206 @WebParam(name = „version") final Integer version,
1207 @WebParam(name = „userId") final String userId,
1208 @WebParam(name = „optionalRole") final Integer role,
1209 @WebParam(name = „secretToShare") final String secretToShare,
1210 @WebParam(name = „optionalUserLastName") final String userLastName,
1211 @WebParam(name = „optionalUserFirstName") final String userFirstName,
1212 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1213 }
1214 {{/code}}
1215
1216 === Parameter armSite ===
1217
1218 (% class="wrapped" %)
1219 |(((
1220 version
1221 )))|(((
1222 Angefragte Version: 1
1223 )))
1224 |(((
1225 userId
1226 )))|(((
1227 UserId des anfragenden Reporter-Benutzers
1228 )))
1229 |(((
1230 optionalRole
1231 )))|(((
1232 Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
1233 )))
1234 |(((
1235 secretToShare
1236 )))|(((
1237 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1238 )))
1239 |(((
1240 optionalUserLastName
1241 )))|(((
1242 Optional. Nachname des Benutzers.
1243 )))
1244 |(% colspan="1" %)(% colspan="1" %)
1245 (((
1246 optionalUserFirstName
1247 )))|(% colspan="1" %)(% colspan="1" %)
1248 (((
1249 Optional. Vorname des Benutzers.
1250 )))
1251 |(% colspan="1" %)(% colspan="1" %)
1252 (((
1253 additionalParams
1254 )))|(% colspan="1" %)(% colspan="1" %)
1255 (((
1256 Reserved for future use.
1257 )))
1258
1259 === ReturnValue armSite ===
1260
1261 (% class="wrapped" %)
1262 |(((
1263 String
1264 )))|(((
1265 Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
1266 )))
1267
1268 == Initialisierung durch LMS ==
1269
1270 {{code language="xml" title="Initialisierung durch LMS"}}
1271 @WebMethod(operationName = „initiateSite")
1272 public String initiateSite(
1273 @WebParam(name = „version") final Integer version,
1274 @WebParam(name = „sessionId") final String sessionId,
1275 @WebParam(name = „secretToShare") final String secretToShare,
1276 @WebParam(name = „students") final ArrayList<ResultsForStudent> students,
1277 @WebParam(name = „optionalContentPackage") final byte[] contentPackage,
1278 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1279 }
1280 {{/code}}
1281
1282 === Parameter initiateSite ===
1283
1284 (% class="wrapped" %)
1285 |(((
1286 version
1287 )))|(((
1288 Angefragte Version: 1
1289 )))
1290 |(% colspan="1" %)(% colspan="1" %)
1291 (((
1292 sessionId
1293 )))|(% colspan="1" %)(% colspan="1" %)
1294 (((
1295 SessionId, wie von armSite zurück geliefert.
1296 )))
1297 |(((
1298 secretToShare
1299 )))|(((
1300 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1301 )))
1302 |(((
1303 students
1304 )))|(((
1305 Liste der Studenten mit ihren Resultaten. Siehe unten.
1306 )))
1307 |(((
1308 optionalContentPackage
1309 )))|(((
1310 Optional. Content Package (gezippt) als Byte-Array.
1311 )))
1312 |(((
1313 additionalParams
1314 )))|(((
1315 Reserved for future use.
1316 )))
1317
1318 === ReturnValue initiateSite ===
1319
1320 (% class="wrapped" %)
1321 |(((
1322 String
1323 )))|(((
1324 Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
1325
1326 * sid: Session ID, wie von armSite zurück gegeben
1327 * uid: Student ID, wie in initiateSite beim Reporter angemeldet
1328 )))
1329
1330 {{code language="xml"}}
1331 public class ResultsForStudent {
1332    private String studentId = „";
1333    private String firstname = „";
1334    private String lastname = „";
1335    private String groupname = „";
1336    private String tutorname = „";
1337    private File contentFile = null;
1338    private byte[] resultsFile = null;
1339 }
1340 {{/code}}
1341
1342 == Abmeldung durch LMS ==
1343
1344
1345 {{code}}
1346 @WebMethod(operationName = „disarmSite")
1347 public Boolean disarmSite(
1348 @WebParam(name = „version") final Integer version,
1349 @WebParam(name = „sessionId") final String sessionId,
1350 @WebParam(name = „secretToShare") final String secretToShare,
1351 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1352 }
1353 {{/code}}
1354
1355
1356 === Parameter disarmSite ===
1357
1358 (% class="wrapped" %)
1359 |(((
1360 version
1361 )))|(((
1362 Angefragte Version: 1
1363 )))
1364 |(% colspan="1" %)(% colspan="1" %)
1365 (((
1366 sessionId
1367 )))|(% colspan="1" %)(% colspan="1" %)
1368 (((
1369 SessionId, wie von armSite zurück geliefert.
1370 )))
1371 |(((
1372 secretToShare
1373 )))|(((
1374 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1375 )))
1376 |(((
1377 additionalParams
1378 )))|(((
1379 Reserved for future use.
1380 )))
1381
1382 === ReturnValue disarmSite ===
1383
1384 (% class="wrapped" %)
1385 |(((
1386 Boolean
1387 )))|(((
1388 True bei Erfolg, sonst false.
1389 )))
1390
1391 == Abfrage von Lernerresultaten durch LMS ==
1392
1393 {{code language="xml" title="Abfrage von Lernerresultaten durch LMS"}}
1394  @WebMethod(operationName = „getResultValues")
1395 public HashMapWrapper getResultValues(
1396 @WebParam(name = „version") final Integer version,
1397 @WebParam(name = „sessionId") final String sessionId,
1398 @WebParam(name = „secretToShare") final String secretToShare,
1399 @WebParam(name = „requestedValues") final HashMap<String, String>
1400 requestedValues,
1401 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1402 }
1403 {{/code}}
1404
1405 === Parameter getResultValues ===
1406
1407 (% class="wrapped" %)
1408 |(((
1409 version
1410 )))|(((
1411 Angefragte Version: 1
1412 )))
1413 |(% colspan="1" %)(% colspan="1" %)
1414 (((
1415 sessionId
1416 )))|(% colspan="1" %)(% colspan="1" %)
1417 (((
1418 SessionId, wie von armSite zurück geliefert.
1419 )))
1420 |(((
1421 secretToShare
1422 )))|(((
1423 Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
1424 )))
1425 |(((
1426 requestedValues
1427 )))|(((
1428 Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
1429 )))
1430 |(((
1431 additionalParams
1432 )))|(((
1433 Reserved for future use.
1434 )))
1435
1436 === ReturnValue getResultValues ===
1437
1438 (% class="wrapped" %)
1439 |(((
1440 HashMap<String, String>
1441 )))|(((
1442 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1443 )))
1444
1445 == Abfrage von Ergebnisvariablen durch LMS ==
1446
1447 {{code language="xml" title="Abfrage von Ergebnisvariablen durch LMS"}}
1448  @WebMethod(operationName = „getResultVariables")
1449 public HashMapWrapper getResultVariables(
1450 @WebParam(name = „version") final Integer version,
1451 @WebParam(name = „contentPackage") final byte[] contentPackage,
1452 @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
1453 }
1454 {{/code}}
1455
1456 === Parameter getResultVariables ===
1457
1458 (% class="wrapped" %)
1459 |(((
1460 version
1461 )))|(((
1462 Angefragte Version: 1
1463 )))
1464 |(((
1465 contentPackage
1466 )))|(((
1467 Content Package (gezippt) als Byte-Array.
1468 )))
1469 |(((
1470 additionalParams
1471 )))|(((
1472 Reserved for future use.
1473 )))
1474
1475 === ReturnValue getResultVariables ===
1476
1477 (% class="wrapped" %)
1478 |(((
1479 HashMap<String, String>
1480 )))|(((
1481 Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
1482 )))
1483
1484 == Wrapper ==
1485
1486 Da die Übertragung von Maps und Listen über JAX-WS Probleme machen kann, müssen diese gewrappt werden.
1487
1488 === Wrapper für die HashMap<String, String> ===
1489
1490 HashMapWrapper.java:
1491
1492 [[image:attach:HashMapWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1493
1494 [[image:attach:HashMapWrapperjava2.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1495
1496 === Wrapper für die ArrayList<ResultsForStudent> ===
1497
1498 ResultsForStudentsWrapper.java:
1499
1500 [[image:attach:ResultsForStudentsWrapperjava.png||data-xwiki-image-style="img-screen" data-xwiki-image-style-border="true" width="500"]]
1501 {{/layout-cell}}
1502 {{/layout-section}}
1503
1504 {{layout-section ac:type="two_right_sidebar"}}
1505 {{layout-cell}}
1506
1507 {{/layout-cell}}
1508
1509 {{layout-cell}}
1510 ====== relevante Links: ======
1511
1512 * [[ONYX Player Interface>>doc:ONYX.Systeminformationen.Schnittstelle ONYX Player.WebHome]]
1513 {{/layout-cell}}
1514 {{/layout-section}}
1515 {{/layout}}