Antworten
Hey Sven
Ich habe eine ähnliche implementation in PowerShell gemacht und bin über die gleichen Fragen gestolpert:
- weshalb ist man vom de-facto weltweiten Standard JSON für Webservices wieder abgekommen und hat diesen durch das veraltete XML ersetzt?
JSON geht auch, wird vom client festgelegt. Wichtig ist bei der Anfrage die Angabe des headers "Accept: application/json"
Bei POST/PUT noch "Content-type: application/json; charset=utf-8"
- weshalb kann man nicht (wie früher) auch mit PERSID oder anderen Parametern suchen? (Fehler: malformed query parameters)
Weil nur ca die Hälfte implementiert wurde, die andere Hälfte existiert, wenn du glück hast, aber undokumentiert.
- wenn man mit /groupmgr/groups?name=xxxx* sucht, sollten alle Gruppen zurückgegeben werden, die dem Suchstring entsprechen. Ansonsten sollte eine leeres Array zurückgegeben werden. Dies ist momentan falsch implementiert, es wird eine kryptische Fehlermeldung zurückgegeben:
called by edu.ethz.ch.iam.webservice.client.request.SpmlResponse: method searchRefObjects(), line #147
Solche kryptischen Fehlermeldungen gibt es überall. Beispiel aus aktivem Ticket von mir (ID#18347121):
PUT https://iam.passwort.ethz.ch/iam-ws-legacy/usermgr/user/ausc/service/Mailbox
Authorization: Basic BasicAuthString99999=
Content-type: application/json; charset=utf-8
Accept: application/json
Body: {"homeDrive":""}
[missing message for key: 'no_valid_homedrive' related class: 'DirXClientMailbox');
- weshalb kann man Passwörter von Services nicht setzen?
Kann man:
PUT /usermgr/user/$Identity/service/$ServiceName/password"
{"password": "$Password"}
- weshalb kann man zwar Usernamen erstellen, aber keine Usernamen löschen? (HTTP 405 Method Not Allowed)
- weshalb kann man nicht ..? Genau deshalb wäre eine aktuelle Doku dringend notwendig!
100% deiner Meinung!
- kann man Mailinglisten manipulieren?
Kann man. Dokumentation ist hier
- weshalb heisst der Endpoint für eine Mailingliste `/group
Ist "/mailinglists/"
Zusatzinfo:
Francesco ist gerade dran die API neu zu implementieren: https://sherlock.sp.ethz.ch/spaces/iam/Shared%20Documents/Entwicklung/IAMWebservicesImplementationProgress.xlsx?d=wb57ebceff8b944b0bac97ed43878c14b
Zitat Arnaud Kenzler, 19. Januar 2021: Die Funktionalität wird implementiert, damit die WebServices die gleichen Funktionalität hat wie das Web Center. Wann kann ich leider nicht sagen.
Ich wage mal keine Vermutungen...