Änderungen von Dokument 08 Schnittstelle ONYX Reporter

Zuletzt geändert von Carina Enke am 13.02.2024

Von Version 375.1
bearbeitet von tleu
am 01.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 378.1
bearbeitet von sandra_riediger
am 15.12.2014
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.tleu
1 +XWiki.sandra_riediger
Inhalt
... ... @@ -1,3 +1,4 @@
1 +{{sv-translation language="de"}}
1 1  {{layout}}
2 2  {{layout-section ac:type="two_right_sidebar"}}
3 3  {{layout-cell}}
... ... @@ -5,7 +5,7 @@
5 5  
6 6  
7 7  
8 -{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
9 +{{toc maxLevel="5" style="square" outline="true" absoluteUrl="true"/}}
9 9  {{/layout-cell}}
10 10  
11 11  {{layout-cell}}
... ... @@ -60,9 +60,7 @@
60 60  |(((
61 61  getResultValues
62 62  )))|(((
63 -Gibt alle bzw. die angeforderten Resultate für den Test zurück. Voraussetzung:
64 -
65 -Es ist nur exakt ein Student in der bei initiateSite übertragenen Liste.
64 +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.
66 66  )))
67 67  |(% colspan="1" %)(% colspan="1" %)
68 68  (((
... ... @@ -74,7 +74,8 @@
74 74  
75 75  == Anmeldung des LMS ==
76 76  
77 -{{code title="Anmeldung des LMS" language="xml"}}@WebMethod(operationName = „armSite")
76 +{{code title="Anmeldung des LMS" language="xml"}}
77 +@WebMethod(operationName = „armSite")
78 78  public String armSite(
79 79  @WebParam(name = „version") final Integer version,
80 80  @WebParam(name = „userId") final String userId,
... ... @@ -83,53 +83,671 @@
83 83  @WebParam(name = „optionalUserLastName") final String userLastName,
84 84  @WebParam(name = „optionalUserFirstName") final String userFirstName,
85 85  @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
86 -}{{/code}}Parameter armSite
86 +}
87 +{{/code}}
87 87  
89 +=== Parameter armSite ===
90 +
88 88  |(((
89 -
92 +version
90 90  )))|(((
91 -
94 +Angefragte Version: 1
92 92  )))
93 93  |(((
94 -
97 +userId
95 95  )))|(((
96 -
99 +UserId des anfragenden Reporter-Benutzers
97 97  )))
98 98  |(((
99 -
102 +optionalRole
100 100  )))|(((
101 -
104 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
102 102  )))
103 103  |(((
104 -
107 +secretToShare
105 105  )))|(((
106 -
109 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
107 107  )))
108 108  |(((
109 -
112 +optionalUserLastName
110 110  )))|(((
114 +Optional. Nachname des Benutzers.
115 +)))
116 +|(% colspan="1" %)(% colspan="1" %)
117 +(((
118 +optionalUserFirstName
119 +)))|(% colspan="1" %)(% colspan="1" %)
120 +(((
121 +Optional. Vorname des Benutzers.
122 +)))
123 +|(% colspan="1" %)(% colspan="1" %)
124 +(((
125 +additionalParams
126 +)))|(% colspan="1" %)(% colspan="1" %)
127 +(((
128 +Reserved for future use.
129 +)))
130 +
131 +=== ReturnValue armSite ===
132 +
133 +|(((
134 +String
135 +)))|(((
136 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
137 +)))
138 +
139 +== Initialisierung durch LMS ==
140 +
141 +{{code title="Initialisierung durch LMS" language="xml"}}
142 +@WebMethod(operationName = „initiateSite")
143 +public String initiateSite(
144 +@WebParam(name = „version") final Integer version,
145 +@WebParam(name = „sessionId") final String sessionId,
146 +@WebParam(name = „secretToShare") final String secretToShare,
147 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
148 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
149 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
150 +}
151 +{{/code}}
152 +
153 +=== Parameter initiateSite ===
154 +
155 +|(((
156 +version
157 +)))|(((
158 +Angefragte Version: 1
159 +)))
160 +|(% colspan="1" %)(% colspan="1" %)
161 +(((
162 +sessionId
163 +)))|(% colspan="1" %)(% colspan="1" %)
164 +(((
165 +SessionId, wie von armSite zurück geliefert.
166 +)))
167 +|(((
168 +secretToShare
169 +)))|(((
170 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
171 +)))
172 +|(((
173 +students
174 +)))|(((
175 +Liste der Studenten mit ihren Resultaten. Siehe unten.
176 +)))
177 +|(((
178 +optionalContentPackage
179 +)))|(((
180 +Optional. Content Package (gezippt) als Byte-Array.
181 +)))
182 +|(((
183 +additionalParams
184 +)))|(((
185 +Reserved for future use.
186 +)))
187 +
188 +=== ReturnValue initiateSite ===
189 +
190 +|(((
191 +String
192 +)))|(((
193 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
194 +
195 +* sid: Session ID, wie von armSite zurück gegeben
196 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
197 +)))
198 +
199 +{{code language="xml"}}
200 +public class ResultsForStudent {
201 +   private String studentId = „";
202 +   private String firstname = „";
203 +   private String lastname = „";
204 +   private String groupname = „";
205 +   private String tutorname = „";
206 +   private File contentFile = null;
207 +   private byte[] resultsFile = null;
208 +}
209 +{{/code}}
210 +
211 +== Abmeldung durch LMS ==
212 +
111 111  
214 +
215 +{{code}}
216 +@WebMethod(operationName = „disarmSite")
217 +public Boolean disarmSite(
218 +@WebParam(name = „version") final Integer version,
219 +@WebParam(name = „sessionId") final String sessionId,
220 +@WebParam(name = „secretToShare") final String secretToShare,
221 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
222 +}
223 +{{/code}}
224 +
225 +
226 +
227 +=== Parameter disarmSite ===
228 +
229 +|(((
230 +version
231 +)))|(((
232 +Angefragte Version: 1
112 112  )))
234 +|(% colspan="1" %)(% colspan="1" %)
235 +(((
236 +sessionId
237 +)))|(% colspan="1" %)(% colspan="1" %)
238 +(((
239 +SessionId, wie von armSite zurück geliefert.
240 +)))
241 +|(((
242 +secretToShare
243 +)))|(((
244 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
245 +)))
246 +|(((
247 +additionalParams
248 +)))|(((
249 +Reserved for future use.
250 +)))
113 113  
114 -= Überschrift2 =
252 +=== ReturnValue disarmSite ===
115 115  
116 -Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est. Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed quis tortor. Donec non ipsum. Mauris condimentum, odio nec porta tristique, ante neque malesuada massa, in dignissim eros velit at tellus. Donec et risus in ligula eleifend consectetuer. Donec volutpat eleifend augue. Integer gravida sodales leo. Nunc vehicula neque ac erat. Vivamus non nisl. Fusce ac magna. Suspendisse euismod libero eget mauris.
254 +|(((
255 +Boolean
256 +)))|(((
257 +True bei Erfolg, sonst false.
258 +)))
259 +
260 +== Abfrage von Lernerresultaten durch LMS ==
261 +
262 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
263 + @WebMethod(operationName = „getResultValues")
264 +public HashMapWrapper getResultValues(
265 + @WebParam(name = „version") final Integer version,
266 + @WebParam(name = „sessionId") final String sessionId,
267 + @WebParam(name = „secretToShare") final String secretToShare,
268 + @WebParam(name = „requestedValues") final HashMap<String, String>
269 + requestedValues,
270 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
271 +}
272 +{{/code}}
273 +
274 +=== Parameter getResultValues ===
275 +
276 +|(((
277 +version
278 +)))|(((
279 +Angefragte Version: 1
280 +)))
281 +|(% colspan="1" %)(% colspan="1" %)
282 +(((
283 +sessionId
284 +)))|(% colspan="1" %)(% colspan="1" %)
285 +(((
286 +SessionId, wie von armSite zurück geliefert.
287 +)))
288 +|(((
289 +secretToShare
290 +)))|(((
291 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
292 +)))
293 +|(((
294 +requestedValues
295 +)))|(((
296 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
297 +)))
298 +|(((
299 +additionalParams
300 +)))|(((
301 +Reserved for future use.
302 +)))
303 +
304 +=== ReturnValue getResultValues ===
305 +
306 +|(((
307 +HashMap<String, String>
308 +)))|(((
309 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
310 +)))
311 +
312 +== Abfrage von Ergebnisvariablen durch LMS ==
313 +
314 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
315 + @WebMethod(operationName = „getResultVariables")
316 +public HashMapWrapper getResultVariables(
317 +@WebParam(name = „version") final Integer version,
318 +@WebParam(name = „contentPackage") final byte[] contentPackage,
319 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
320 +}
321 +{{/code}}
322 +
323 +=== Parameter getResultVariables ===
324 +
325 +|(((
326 +version
327 +)))|(((
328 +Angefragte Version: 1
329 +)))
330 +|(((
331 +contentPackage
332 +)))|(((
333 +Content Package (gezippt) als Byte-Array.
334 +)))
335 +|(((
336 +additionalParams
337 +)))|(((
338 +Reserved for future use.
339 +)))
340 +
341 +=== ReturnValue getResultVariables ===
342 +
343 +|(((
344 +HashMap<String, String>
345 +)))|(((
346 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
347 +)))
348 +
349 +== Wrapper ==
350 +
351 +Da die Übertragung von Maps und Listen über JAX-WS Probleme macht (clientseitig gefüllte Listen werden leer über den WS versandt und kommen daher auch leer serverseitig an), müssen diese gewrappt werden.
352 +
353 +=== Wrapper für die HashMap<String, String> ===
354 +
355 +HashMapWrapper.java:
356 +
357 +[[image:attach:HashMapWrapperjava.png]]
358 +
359 +[[image:attach:HashMapWrapperjava2.png]]
360 +
361 +=== Wrapper für die ArrayList<ResultsForStudent> ===
362 +
363 +ResultsForStudentsWrapper.java:
364 +
365 +[[image:attach:ResultsForStudentsWrapperjava.png]]
117 117  {{/layout-cell}}
118 118  {{/layout-section}}
119 119  
120 120  {{layout-section ac:type="two_right_sidebar"}}
121 121  {{layout-cell}}
122 -====== untergeordnete Seiten: ======
371 +
372 +{{/layout-cell}}
123 123  
374 +{{layout-cell}}
375 +====== relevante Links: ======
124 124  
377 +* [[doc:Schnittstelle ONYX WebPlayer]]
378 +{{/layout-cell}}
379 +{{/layout-section}}
380 +{{/layout}}
381 +{{/sv-translation}}
125 125  
126 -{{children all="true"/}}
383 +{{sv-translation language="en"}}
384 +{{layout}}
385 +{{layout-section ac:type="two_equal"}}
386 +{{layout-cell}}
387 +====== Content: ======
388 +
389 +
390 +
391 +{{toc style="square" maxLevel="5" outline="true" absoluteUrl="true"/}}
127 127  {{/layout-cell}}
128 128  
129 129  {{layout-cell}}
130 -====== relevante Links: ======
395 +|=(% colspan="1" %)(% colspan="1" %)
396 +(((
397 +Programmversion
398 +)))|(% colspan="1" %)(% colspan="1" %)
399 +(((
400 +
401 +)))
402 +|=(((
403 +Status
404 +)))|(((
405 +(% class="status-macro aui-lozenge aui-lozenge-error" %)DRAFT
406 +)))
407 +|=(((
408 +Aufgaben
409 +)))|(((
410 +
131 131  
132 -* [[lorem ipsum>>url:https://www.bps-system.de/help/display/OPAL/Handbuch+OPAL||shape="rect"]]
412 +
413 +)))
414 +|=(((
415 +JIRA
416 +)))|(((
417 +
418 +)))
133 133  {{/layout-cell}}
134 134  {{/layout-section}}
421 +
422 +{{layout-section ac:type="single"}}
423 +{{layout-cell}}
424 +
425 +
426 +== Allgemeines ==
427 +
428 +Über die Schnittstelle zum ONYX WebReporter erfolgt jede Kommunikation zwischen dem LMS und dem Reporter. Dazu erfolgt eine Reihe von Aufrufen:
429 +
430 +|(((
431 +armSite
432 +)))|(((
433 +Anmeldung von Folgerequests beim ONYX Reporter.
434 +)))
435 +|(((
436 +initiateSite
437 +)))|(((
438 +Initiiert die Reporter-Session (Übertragung des CPs).
439 +)))
440 +|(((
441 +disarmSite
442 +)))|(((
443 +Freigabe von allen Reporter-Ressourcen für diese Session.
444 +)))
445 +|(((
446 +getResultValues
447 +)))|(((
448 +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.
449 +)))
450 +|(% colspan="1" %)(% colspan="1" %)
451 +(((
452 +getResultVariables
453 +)))|(% colspan="1" %)(% colspan="1" %)
454 +(((
455 +Gibt alle bzw. die angeforderten Outcome-Variablen für den Test zurück. Hierfür sind kein armSite, initiateSite oder disarmSite erforderlich.
456 +)))
457 +
458 +== Anmeldung des LMS ==
459 +
460 +{{code title="Anmeldung des LMS" language="xml"}}
461 +@WebMethod(operationName = „armSite")
462 +public String armSite(
463 +@WebParam(name = „version") final Integer version,
464 +@WebParam(name = „userId") final String userId,
465 +@WebParam(name = „optionalRole") final Integer role,
466 +@WebParam(name = „secretToShare") final String secretToShare,
467 +@WebParam(name = „optionalUserLastName") final String userLastName,
468 +@WebParam(name = „optionalUserFirstName") final String userFirstName,
469 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
470 +}
471 +{{/code}}
472 +
473 +=== Parameter armSite ===
474 +
475 +|(((
476 +version
477 +)))|(((
478 +Angefragte Version: 1
479 +)))
480 +|(((
481 +userId
482 +)))|(((
483 +UserId des anfragenden Reporter-Benutzers
484 +)))
485 +|(((
486 +optionalRole
487 +)))|(((
488 +Optional. Rolle des Benutzers. 0 = Student, 1= Tutor
489 +)))
490 +|(((
491 +secretToShare
492 +)))|(((
493 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
494 +)))
495 +|(((
496 +optionalUserLastName
497 +)))|(((
498 +Optional. Nachname des Benutzers.
499 +)))
500 +|(% colspan="1" %)(% colspan="1" %)
501 +(((
502 +optionalUserFirstName
503 +)))|(% colspan="1" %)(% colspan="1" %)
504 +(((
505 +Optional. Vorname des Benutzers.
506 +)))
507 +|(% colspan="1" %)(% colspan="1" %)
508 +(((
509 +additionalParams
510 +)))|(% colspan="1" %)(% colspan="1" %)
511 +(((
512 +Reserved for future use.
513 +)))
514 +
515 +=== ReturnValue armSite ===
516 +
517 +|(((
518 +String
519 +)))|(((
520 +Session ID, mit der alle weiteren Reporter-Aufrufe gekennzeichnet werden müssen.
521 +)))
522 +
523 +== Initialisierung durch LMS ==
524 +
525 +{{code title="Initialisierung durch LMS" language="xml"}}
526 +@WebMethod(operationName = „initiateSite")
527 +public String initiateSite(
528 +@WebParam(name = „version") final Integer version,
529 +@WebParam(name = „sessionId") final String sessionId,
530 +@WebParam(name = „secretToShare") final String secretToShare,
531 +@WebParam(name = „students") final ArrayList<ResultsForStudent> students,
532 +@WebParam(name = „optionalContentPackage") final byte[] contentPackage,
533 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
534 +}
535 +{{/code}}
536 +
537 +=== Parameter initiateSite ===
538 +
539 +|(((
540 +version
541 +)))|(((
542 +Angefragte Version: 1
543 +)))
544 +|(% colspan="1" %)(% colspan="1" %)
545 +(((
546 +sessionId
547 +)))|(% colspan="1" %)(% colspan="1" %)
548 +(((
549 +SessionId, wie von armSite zurück geliefert.
550 +)))
551 +|(((
552 +secretToShare
553 +)))|(((
554 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
555 +)))
556 +|(((
557 +students
558 +)))|(((
559 +Liste der Studenten mit ihren Resultaten. Siehe unten.
560 +)))
561 +|(((
562 +optionalContentPackage
563 +)))|(((
564 +Optional. Content Package (gezippt) als Byte-Array.
565 +)))
566 +|(((
567 +additionalParams
568 +)))|(((
569 +Reserved for future use.
570 +)))
571 +
572 +=== ReturnValue initiateSite ===
573 +
574 +|(((
575 +String
576 +)))|(((
577 +Absolute URL der Reporter-Seite für den IFrame. Dieser ist vom LMS durch die folgenden URL-Parameter anzureichern:
578 +
579 +* sid: Session ID, wie von armSite zurück gegeben
580 +* uid: Student ID, wie in initiateSite beim Reporter angemeldet
581 +)))
582 +
583 +{{code language="xml"}}
584 +public class ResultsForStudent {
585 +   private String studentId = „";
586 +   private String firstname = „";
587 +   private String lastname = „";
588 +   private String groupname = „";
589 +   private String tutorname = „";
590 +   private File contentFile = null;
591 +   private byte[] resultsFile = null;
592 +}
593 +{{/code}}
594 +
595 +== Abmeldung durch LMS ==
596 +
597 +
598 +
599 +{{code}}
600 +@WebMethod(operationName = „disarmSite")
601 +public Boolean disarmSite(
602 +@WebParam(name = „version") final Integer version,
603 +@WebParam(name = „sessionId") final String sessionId,
604 +@WebParam(name = „secretToShare") final String secretToShare,
605 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
606 +}
607 +{{/code}}
608 +
609 +
610 +
611 +=== Parameter disarmSite ===
612 +
613 +|(((
614 +version
615 +)))|(((
616 +Angefragte Version: 1
617 +)))
618 +|(% colspan="1" %)(% colspan="1" %)
619 +(((
620 +sessionId
621 +)))|(% colspan="1" %)(% colspan="1" %)
622 +(((
623 +SessionId, wie von armSite zurück geliefert.
624 +)))
625 +|(((
626 +secretToShare
627 +)))|(((
628 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
629 +)))
630 +|(((
631 +additionalParams
632 +)))|(((
633 +Reserved for future use.
634 +)))
635 +
636 +=== ReturnValue disarmSite ===
637 +
638 +|(((
639 +Boolean
640 +)))|(((
641 +True bei Erfolg, sonst false.
642 +)))
643 +
644 +== Abfrage von Lernerresultaten durch LMS ==
645 +
646 +{{code title="Abfrage von Lernerresultaten durch LMS" language="xml"}}
647 + @WebMethod(operationName = „getResultValues")
648 +public HashMapWrapper getResultValues(
649 + @WebParam(name = „version") final Integer version,
650 + @WebParam(name = „sessionId") final String sessionId,
651 + @WebParam(name = „secretToShare") final String secretToShare,
652 + @WebParam(name = „requestedValues") final HashMap<String, String>
653 + requestedValues,
654 + @WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
655 +}
656 +{{/code}}
657 +
658 +=== Parameter getResultValues ===
659 +
660 +|(((
661 +version
662 +)))|(((
663 +Angefragte Version: 1
664 +)))
665 +|(% colspan="1" %)(% colspan="1" %)
666 +(((
667 +sessionId
668 +)))|(% colspan="1" %)(% colspan="1" %)
669 +(((
670 +SessionId, wie von armSite zurück geliefert.
671 +)))
672 +|(((
673 +secretToShare
674 +)))|(((
675 +Ein geheimer String, mit dessen Hilfe Server und Client ihre Kommunikation verschlüsseln. Muss bei jeder weiteren Kommunikation gleich bleiben.
676 +)))
677 +|(((
678 +requestedValues
679 +)))|(((
680 +Kann leer sein, dann werden alle Result-Variables zurück geliefert. Sind Keys enthalten, so kommen nur diese zurück.
681 +)))
682 +|(((
683 +additionalParams
684 +)))|(((
685 +Reserved for future use.
686 +)))
687 +
688 +=== ReturnValue getResultValues ===
689 +
690 +|(((
691 +HashMap<String, String>
692 +)))|(((
693 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
694 +)))
695 +
696 +== Abfrage von Ergebnisvariablen durch LMS ==
697 +
698 +{{code title="Abfrage von Ergebnisvariablen durch LMS" language="xml"}}
699 + @WebMethod(operationName = „getResultVariables")
700 +public HashMapWrapper getResultVariables(
701 +@WebParam(name = „version") final Integer version,
702 +@WebParam(name = „contentPackage") final byte[] contentPackage,
703 +@WebParam(name = „additionalParams") final HashMapWrapper additionalParams) {
704 +}
705 +{{/code}}
706 +
707 +=== Parameter getResultVariables ===
708 +
709 +|(((
710 +version
711 +)))|(((
712 +Angefragte Version: 1
713 +)))
714 +|(((
715 +contentPackage
716 +)))|(((
717 +Content Package (gezippt) als Byte-Array.
718 +)))
719 +|(((
720 +additionalParams
721 +)))|(((
722 +Reserved for future use.
723 +)))
724 +
725 +=== ReturnValue getResultVariables ===
726 +
727 +|(((
728 +HashMap<String, String>
729 +)))|(((
730 +Map der Result-Variables, Key ist der Variablenname, Value der jeweilige Wert (HashMap ist gewrappt)
731 +)))
732 +
733 +== Wrapper ==
734 +
735 +Da die Übertragung von Maps und Listen über JAX-WS Probleme macht (clientseitig gefüllte Listen werden leer über den WS versandt und kommen daher auch leer serverseitig an), müssen diese gewrappt werden.
736 +
737 +=== Wrapper für die HashMap<String, String> ===
738 +
739 +HashMapWrapper.java:
740 +
741 +[[image:attach:HashMapWrapperjava.png]]
742 +
743 +[[image:attach:HashMapWrapperjava2.png]]
744 +
745 +=== Wrapper für die ArrayList<ResultsForStudent> ===
746 +
747 +ResultsForStudentsWrapper.java:
748 +
749 +[[image:attach:ResultsForStudentsWrapperjava.png]]
750 +{{/layout-cell}}
751 +{{/layout-section}}
135 135  {{/layout}}
753 +{{/sv-translation}}
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -3342392
1 +3342793
url
... ... @@ -1,1 +1,1 @@
1 -https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342392/Schnittstelle ONYX Reporter
1 +https://www.bps-system.de/help/display/SOV/wiki/spaces/ONYX/pages/3342793/Schnittstelle ONYX Reporter