Webservices FAQ: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Zeile 52: Zeile 52:


== Was bedeutet die Fehlermeldung ''Access control exception''? ==
== Was bedeutet die Fehlermeldung ''Access control exception''? ==
It means that one of this admin setting has failed:
Das bedeutet, dass eine der folgenden Einstellungen einen Fehler verursacht:
* authorised user: ip restriction fails to authenticate the user (Administration > Plugins > Web services > Manage services > Authorized users > click on user full name)
* autorisierte Nutzer/innen: die IP-Beschränkung kann den Nutzer nicht authentifizieren (''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Webservices > Externe Services > Autoriserte Nutzer/innen'': Nutzername anklicken).
* authorised user: valid date is expired (Administration > Plugins > Web services > Manage services > Authorized users > click on user full name)
* autorisierte Nutzer/innen: das Gültigkeitsdatum ist abgelaufen (''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Webservices > Externe Services > Autorisierte Nutzer/innen'': Nutzername anklicken).
* admin created the token: ip restriction fails to authenticate the user (Administration > Plugins > Web services > Manage tokens > check the status)
* der Admin hat das Token generiert: die IP-Beschränkung kann den Nutzer nicht authentifizieren (''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Webservices > Tokens verwalten'': Status prüfen).
* admin created the token: valid date is expired (Administration > Plugins > Web services > Manage tokens > check the status)
* der Admin hat das Token generiert: das Gültigkeitsdatum ist abgelaufen (''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Webservices > Tokens verwalten'': Status prüfen).
* the user is not listed in the authorized list (Administration > Plugins > Web services > Manage services > Authorized users)
* Der/die Nutzer/in ist nicht in der Liste der autorisierten Nutzer/innen enthalten: ''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Webservices > Externe Services > Autorisierte Nutzer/innen''.
* the user hasn't the required capability (Administration > Plugins > Web services > Manage services > Edit service)
* Der/die Nutzer/in hat nicht das erforderliche Recht: ''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Plugins > Webservices > Externe Services'': Service bearbeiten.
* site in maintenance mode
* Die Moodle-Site ist im [[Wartungsmodus]].
* user is suspended
* Das Nutzerkonto ist gesperrt.
* user is not confirmed
* Das Nutzerkonto ist nicht bestätigt.
* user is deleted
* das Nutzerkonto ist gelöscht.
* the user authentication is set to nologin (edit the user profile)
* Die Authentifizierungsmethode für das Nutzerkonto ist auf ''Kein Login'' geetzt
* password expired (most likely happens with external authentication like LDAP)
* Das Kennwort ist abgelaufen (am wahrscheinlichsten bei externen Authentifizierungsmethoden, z.B. über einen [[LDAP-Server]]).
* web service disabled (Administration > Advanced features)
* Webservics sind deaktiviert (''[[Einstellungen-Block|Einstellungen]] > Website-Administration > Zusatzoptionen'').
* user doesn't have the capability to use the used web service protocol (user should have the capability 'webservice/use:xmlrpc'/'webservice/use:rest'/..., on SYSTEM context).
* Der/die Nutzer/in hat nicht das Recht, das Webservice-Protokoll zu verwenden (die Fähigkeiten [[Capabilities/webservice/use:xmlrpc]], [[Capabilitie/webservice/use:rest]], Capabilities/webservice/use:soap]] bzw. [[Capabilities/webservice/use:amf]] müssen im System-Kontext auf ''erlauben'' gesetzt sein).
* the user token doesn't exist
* Das Nutzer-Token existiert nicht.
* the web service function is not included in the service
* Die Webservice-Funktion ist nicht zum Service hinzugefügt.


Since Moodle 2.2, if the administrator turns Moodle debug mode >= NORMAL, then an explicit error message will be returned.
Wenn Sie als Administrator/in den [[Debugging|Debug-Modus]] aktivieren, erhalten Sie detailliertere Fehlerinformationen.


==Siehe auch==
==Siehe auch==

Version vom 13. Juni 2012, 19:49 Uhr


Vorlage:Zum Übersetzen Dieser Artikel gibt Antwort auf einige häufig gestellte Fragen aus dem Web Services Forum auf moodle.org.


Was ist der Unterschied zwischen einem Webservice und MNet?

MNet wird verwendet, um Nutzer/innen einer Moodle-Site A in einer Moodle-Site B zu authentifizieren.

Webservices sind Funktionen, die von externen Applikationen in Moodle aufgerufen werden (über SOAP, XML-RPC, REST oder AMF).

Der Begriff "Webservices" wird in verschiedenen Zusammenhängen verwendet, was bedeutet er?

  1. Das gesamte Webservices-System in Moodle wird als Moodle-Webservice-System bezeichnet.
  2. Eine einzelne Aktion (z.B. das Anlegen eines Nutzers) wird als Webservice-Funktion bezeichnet.
  3. Als Administrator/in können Sie mehrere dieser Funktionen für die Verwendung "von außen" aktivieren, und diese Funktionen werden als "Webservice" bezeichnet.

Wo ist die Webservice API dokumentiert?

Da verschiedene Moodle-Sites die API erweitern oder einschränken können, ändert sich die API im Laufe der Zeit. Die beste Möglichkeit, die genaue API für eine spezielle Moodle-Site zu sehen, ist, sich die automatisch generierte Dokumentation anzusehen.

Vollständige API Dokumentation

  1. Melden Sie sich als Administrator/in an.
  2. Gehen Sie auf die Seite Einstellungen > Website-Administration > Plugins > Webservices > API Dokumentation.

Spezifische Dokumentation für Nutzer/innen

  1. Melden Sie sich als Administrator/in an, aktivieren Sie Webservices als Zusatzoption, legen Sie einen Webservice an und fügen Sie einige Moodle-Funktionen zu diesem Service hinzu, siehe Webservices nutzen.
  2. Melden Sie sich als Nicht-Admin an und gehen Sie auf Ihre Sicherheitsschlüssel-Seite.

Warum gibt es in der API nur wenige Funktionen?

Wir sind sehr vorsichtig mit dem Hinzufügen von Funktionen, weil wir die API der Funktionen möglichst nicht ändern möchten, sobald sie einmal implementiert sind. Die Funktionen, die es in Moodle 2 gibt, waren die am meisten geforderten (für Nutzer/innen, Kurse, Gruppen und Einschreibungen).

Mit der Zeit werden wir weitere Funktionen hinzufügen, basiert auf die Beiträge der Community und gestellte Anforderungen. Siehe Webservices Roadmap.

Sie können auch die API in Ihrer eigenen Moodle-Site erweitern, indem Sie eigene API-Funktionen implementieren (siehe nächste Frage).

Wie kann ich eine neue Webservice-Funktion implementieren?

Der einfachste und empfohlene Weg ist es, ein neues lokales Moodle-Plugin zu entwickeln und die Webservice-Funktionen dort zu implementieren. Die Moodle-Administration muss dieses Plugin dann nur in Moodle installieren (im Verzeichnis /moodle/local/), die Webservice-Funktionen werden automatisch angelegt. Weitere Informationen zur Plugin-Entwicklung finden Sie in der Datei /moodle/local/readme.txt. Lesen Sie außerdem die Entwickler-Dokumentation, siehe how to implement a web service and a web service function.

Wie kann ich einen Webservice aufsetzen?

Arbeitet der Moodle SOAP Server mit JAVA oder .NET?

Leider ist das generierte WSDL momentan nicht kompatibel mit JAVA oder .NET. Siehe MDL-28988 und MDL-28989 für Pläne, ein JAVA-kompatibles SOAP WSDL zu generieren.

Wie bekomme ich ein Nutzer-Token von einer externen Applikation?

Nutzen Sie das PHP-Skript /moodle/login/token.php, siehe Entwickler-Dokumentation How to get a user token.

Was bedeutet die Fehlermeldung Access control exception?

Das bedeutet, dass eine der folgenden Einstellungen einen Fehler verursacht:

  • autorisierte Nutzer/innen: die IP-Beschränkung kann den Nutzer nicht authentifizieren (Einstellungen > Website-Administration > Plugins > Webservices > Externe Services > Autoriserte Nutzer/innen: Nutzername anklicken).
  • autorisierte Nutzer/innen: das Gültigkeitsdatum ist abgelaufen (Einstellungen > Website-Administration > Plugins > Webservices > Externe Services > Autorisierte Nutzer/innen: Nutzername anklicken).
  • der Admin hat das Token generiert: die IP-Beschränkung kann den Nutzer nicht authentifizieren (Einstellungen > Website-Administration > Plugins > Webservices > Tokens verwalten: Status prüfen).
  • der Admin hat das Token generiert: das Gültigkeitsdatum ist abgelaufen (Einstellungen > Website-Administration > Plugins > Webservices > Tokens verwalten: Status prüfen).
  • Der/die Nutzer/in ist nicht in der Liste der autorisierten Nutzer/innen enthalten: Einstellungen > Website-Administration > Plugins > Webservices > Externe Services > Autorisierte Nutzer/innen.
  • Der/die Nutzer/in hat nicht das erforderliche Recht: Einstellungen > Website-Administration > Plugins > Webservices > Externe Services: Service bearbeiten.
  • Die Moodle-Site ist im Wartungsmodus.
  • Das Nutzerkonto ist gesperrt.
  • Das Nutzerkonto ist nicht bestätigt.
  • das Nutzerkonto ist gelöscht.
  • Die Authentifizierungsmethode für das Nutzerkonto ist auf Kein Login geetzt
  • Das Kennwort ist abgelaufen (am wahrscheinlichsten bei externen Authentifizierungsmethoden, z.B. über einen LDAP-Server).
  • Webservics sind deaktiviert (Einstellungen > Website-Administration > Zusatzoptionen).
  • Der/die Nutzer/in hat nicht das Recht, das Webservice-Protokoll zu verwenden (die Fähigkeiten Capabilities/webservice/use:xmlrpc, Capabilitie/webservice/use:rest, Capabilities/webservice/use:soap]] bzw. Capabilities/webservice/use:amf müssen im System-Kontext auf erlauben gesetzt sein).
  • Das Nutzer-Token existiert nicht.
  • Die Webservice-Funktion ist nicht zum Service hinzugefügt.

Wenn Sie als Administrator/in den Debug-Modus aktivieren, erhalten Sie detailliertere Fehlerinformationen.

Siehe auch