Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen info
In diesem Thema werden Fehler und Warnungen beschrieben, die bei Edge Microgateway auftreten können.
Allgemeine Anwendungsfehler
HTTP 500, Fehler im Fehler-Handler: Die meisten Fehler haben diese Nummer, ebenso wie einige Fehler, die von Zielen zurückgegeben werden. Insbesondere wird „errors-middleware.js“ im gesamten Modul microgateway-core verwendet. Wenn sie verwendet wird, werden statusCodes mit dem Edge Microgateway-
logger object: logger.error(err, 'failed in error handler');in die Protokollierung geschrieben. Bei Codes, die von Zielen zwischen 100 und 300 empfangen werden, wird der statusCode in errors-middleware.js in 500 umgeschrieben, um ihn an den Client zurückzugeben.HTTP 404: Dieser Status kann als Stacktrace mit der Meldung
no match found for [API_path_name]angezeigt werden.
Modulfehler und ‑warnungen
Anhand dieser Informationen können Sie Benachrichtigungen konfigurieren, mit denen Sie Ihre Edge Microgateway-Bereitstellung überwachen und verwalten können.
Die folgenden Begriffe, die in der Fehlerreferenz unter „Handler“ aufgeführt sind, geben an, wie die verschiedenen Fehler in Edge Microgateway behandelt werden.
- assert: Normalerweise wird Edge Microgateway beendet, wenn eine „assert“-Auswertung fehlschlägt. Das ist jedoch nicht immer der Fall, da „asserts“ Ausnahmen auslösen, die abgefangen werden können.
- throws: Möglicher Systemstopp.
- callback: Der Fehler wird an einen Callback übergeben und das System kann fortfahren.
| Typ | Nachricht | Handler | Hinweise |
|---|---|---|---|
microgateway-Modul |
|||
| Fehler | org ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.org,"org is required"); |
| Fehler | env ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.env,"env is required") |
| Fehler | Nutzername ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.username || options.token,"username is required"); |
| Fehler | Passwort ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.password || options.token,"password is required") |
| Fehler | org ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.org,"org is required"); |
| Fehler | env ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.env,"env is required") |
| Fehler | Nutzername ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.username || options.token,"username is required"); |
| Fehler | Passwort ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.password || options.token,"password is required") |
| Fehler | org ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.org,"org is required"); |
| Fehler | env ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.env,"env is required") |
| Fehler | org ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.org,"org is required"); |
| Fehler | env ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.env,"env is required") |
| Fehler | Nutzername ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.username, 'username is required'); |
| Fehler | Passwort ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.password, 'password is required'); |
| Fehler | org ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.org, 'org is required'); |
| Fehler | env ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.env, 'env is required'); |
| Fehler | Muss eine zugewiesene Zieldatei haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(targetFile, 'must have an assigned target file') |
| Fehler | muss einen Schlüssel haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(key, 'must have a key'); |
| Fehler | muss ein Secret haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(secret, 'must have a secret'); |
| Fehler | „dir“ muss konfiguriert werden | [Rechte] geltend machen; [Rechte] beanspruchen | assert(dir, 'dir must be configured') |
| Fehler | Rückruf muss vorhanden sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(callback, 'callback must be present') |
| Fehler | Nutzername ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.username, 'username is required'); |
| Fehler | Passwort ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.password, 'password is required'); |
| Fehler | org ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.org, 'org is required'); |
| Fehler | env ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.env, 'env is required'); |
| Fehler | runtimeUrl ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| Fehler | mgmtUrl ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| Fehler | Datei ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.file,"file is required") |
| Fehler | Muss ein Ziel haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.target, 'must have target'); |
| Fehler | Plug-ins nicht konfiguriert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edgemicro.plugins, 'plugins not configured'); |
| Fehler | Plug-in-Verzeichnis nicht vorhanden: + pluginDir | [Rechte] geltend machen; [Rechte] beanspruchen | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| Fehler | „pluginDir“ ist kein Verzeichnis: + pluginDir | [Rechte] geltend machen; [Rechte] beanspruchen | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| Fehler | Fehler beim Lesen des Plug-in-Verzeichnisses: + pluginDir | [Rechte] geltend machen; [Rechte] beanspruchen | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| Fehler | muss ein Token haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(token, 'must have a token'); |
| Fehler | configpath darf nicht leer sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config, 'configpath can't be empty'); |
| Fehler | EDGEMICRO_KEY muss vorhanden sein. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(key, 'must have EDGEMICRO_KEY'); |
| Fehler | Muss EDGEMICRO_SECRET enthalten | [Rechte] geltend machen; [Rechte] beanspruchen | assert(secret, 'must have EDGEMICRO_SECRET'); |
| Fehler | Konfiguration nicht vorhanden | wirft | bezüglich YAML-Datei |
| Fehler | edgemicro scheint bereits zu laufen. | console.error | Sie versuchen, eine .sock-Datei zu überschreiben. |
| Fehler | Fehler beim Prüfen auf Änderungen in der Konfiguration. Wird wiederholt nach | console.error | Problem bei der Edge-Kommunikation |
| Fehler | Wenn der Server nicht ausgeführt wird, liegt das möglicherweise daran, dass er beim letzten Start nicht korrekt heruntergefahren wurde. | console.error | |
| Fehler | Fehlende %s, bitte ausführen | console.error | Fehlt (.*), bitte ausführen |
| Fehler | Fehler beim Neuladen von edgemicro | console.error | Befehlsebene |
| Fehler | Das Beenden von edgemicro war nicht erfolgreich | console.error | Befehlsebene |
| Fehler | „Entfernen Sie ‚“ + ipcPath + „‘ und beginnen Sie noch einmal.“ | console.error | |
| Fehler | 'cache configuration ' + cache + ' does not exist. exiting.' | console.error | |
| Fehler | Die Konfigurationsdatei konnte nicht geschrieben werden: | console.error | Konfiguration schlägt fehl |
| Fehler | Konfigurationsdatei wurde nicht heruntergeladen: | console.error | Konfiguration schlägt fehl |
| Fehler | Edge-Mikro konnte nicht gestartet werden | console.error | Sie sollte nicht ausgeführt werden. |
| Fehler | edgemicro wird nicht ausgeführt. | console.error | Prozess prüfen, er sollte nicht aufgeführt sein |
| Fehler | env ist erforderlich | console.error | Umgebungsvariablen, die für die Ausführung erforderlich sind |
| Fehler | Fehler beim Bearbeiten von apiproxy Callout.xml | console.error | Dateizugriff |
| Fehler | Fehler beim Bearbeiten von apiproxy default.xml | console.error | Dateizugriff |
| Fehler | Fehler beim Prüfen des Zertifikats. Neues Zertifikat wird installiert. | console.error | Öffentlicher Schlüssel kann nicht verwendet werden |
| Fehler | Fehler beim Abrufen der Region für die Organisation | console.error | key-gen.js, cert-lib.js und private.js |
| Fehler | Fehler beim Hochladen der Anmeldedaten | console.error | Öffentlicher Schlüssel kann nicht mit Edge synchronisiert werden |
| Fehler | fehlgeschlagen | console.error | key-gen.js |
| Fehler | Fehler beim Initialisieren der Datei „configpath“ %s | console.error | Konfiguration wird nicht geladen |
| Fehler | Ungültige Antwort von der Regions-API | console.error | key-gen.js, cert-lib.js und private.js |
| Fehler | Schlüssel ist erforderlich | console.error | Parameter |
| Fehler | org ist erforderlich | console.error | Parameter |
| Fehler | Der Port ist nicht verfügbar. | console.error | Parameter |
| Fehler | Secret ist erforderlich | console.error | Parameter |
| Fehler | URL-Protokoll wird nicht unterstützt: | console.error | Die Konfigurationsinformationen weisen auf ein Internetprotokoll hin, das nicht im Umfang von Edge Microgateway enthalten ist. |
| Fehler | Analysen – negativer Testfall: FEHLER | console.error | Möglicher Absturz/Fehler |
| Fehler | Analyse mit Nutzlast prüfen: FEHLER | console.error | Möglicher Absturz/Fehler |
| Fehler | Verfügbarkeit der Bootstrap-URL wird geprüft:FEHLER | console.error | Möglicher Absturz/Fehler |
| Fehler | Verfügbarkeit von „jwt_public_key“ wird geprüft: FEHLER | console.error | Möglicher Absturz/Fehler |
| Fehler | Verfügbarkeit von Produkten wird überprüft: FEHLER | console.error | Möglicher Absturz/Fehler |
| Fehler | Kontingent mit konfigurierten Produkten prüfen: FEHLER | console.error | Möglicher Absturz/Fehler |
| warn | Die Konfiguration konnte nicht vom Gateway abgerufen werden. Es wird mit einer im Cache gespeicherten Kopie fortgefahren. | console.error | |
| warn | KVM ist bereits in Ihrer Organisation vorhanden | console.log | |
| warn | bereits bereitgestellt | console.log | |
| warn | Sequenziertes Plug-in nicht gefunden: | console.warn | |
| warn | pluginDir %s ist nicht vorhanden | console.log | pluginDir (.*) does not exist |
Modul „microgateway-core“ |
|||
| Fehler | Konfiguration nicht initialisiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config, 'config not initialized') |
| Fehler | Muss eine Konfiguration haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config, ' must have a config') |
| Fehler | Erforderliche Konfiguration | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config, 'must have config') |
| Fehler | Die Konfiguration muss eine UID haben. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.uid, 'config must have uid'); |
| Fehler | config.edgemicro.logging muss in der Konfiguration vorhanden sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| Fehler | Anfragemethode ist erforderlich | [Rechte] geltend machen; [Rechte] beanspruchen | assert(httpLibrary.request, 'must have request method'); |
| Fehler | Das Plug-in muss im Arbeitsspeicher geladen sein. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.plugin, "must have plugin loaded in memory"); |
| Fehler | „init“ muss eine Funktion sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| Fehler | Muss den Namen des Plug-ins enthalten | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.pluginName, "must have plugin name"); |
| Fehler | Ungültige Plugin-Handler und ‑Namen werden ignoriert. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| Fehler | Die Optionen müssen eine Konfiguration enthalten. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config, 'options must contain config') |
| Fehler | Das Plug-in muss einen Namen haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(name,"plugin must have a name") |
| Fehler | „name“ muss ein String sein. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(_.isString(name),"name must be a string"); |
| Fehler | „plugin“ muss eine Funktion sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| Fehler | muss einen Schlüssel haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(key, 'must have a key'); |
| Fehler | muss ein Secret haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(secret, 'must have a secret'); |
| Fehler | muss ein Quellkonfigurationsverzeichnis haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(source, 'must have a source config directory'); |
| Fehler | Fehler beim Laden des Plug-ins | console.error | Plug-in nicht geladen |
| Fehler | Fehler im Fehler-Handler | callback | HTTP-Serverfunktion „on()“ |
| Fehler | Die Headerlänge überschreitet die zulässige Größe. | HTTP-Fehler | Plug-in wird nicht ausgeführt |
| Fehler | Antwort wurde beendet, bevor die Aufgabe ausgeführt werden konnte | logger.error | Das Ziel-Plug‑in wird nicht ausgeführt. |
| Fehler | Der Handler hat eine Ausnahme ausgelöst. | callback | Aufnahmefehler durch Plug-in (Catch) |
| Fehler | Fehler beim Starten von Edge Micro | callback | Edge Microgateway wird nicht gestartet |
| Fehler | „plugin“ muss eine Funktion sein | wirft | |
| warn | console.error | Warnungen | Logs schreiben |
| warn | Fehler bei targetRequest | Fehlerbehandlung für das Ziel aufrufen | HTTP-Clientfehler in Verbindung mit dem Ziel |
| warn | targetResponse-Fehler | Fehlerbehandlung für das Ziel aufrufen | HTTP-Zielserverfehler in Verbindung mit dem Ziel, wie im Client zu sehen |
microgateway-config-Modul |
|||
| Fehler | allow_message | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.quota.allow > 0, allow_message); |
| Fehler | Konfiguration nicht vorhanden | wirft | YAML-Konfigurationsdatei |
| Fehler | Die Konfiguration ist leer. | wirft | YAML-Konfigurationsdatei |
| Fehler | „config“ ist keine Datei | wirft | YAML-Konfigurationsdatei |
| Fehler | Konfiguration ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config, 'config is not defined'); |
| Fehler | config.analytics.batchSize ist ungültig | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| Fehler | config.analytics.batchSize ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| Fehler | config.analytics.bufferSize ist ungültig | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| Fehler | config.analytics.bufferSize ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| Fehler | config.analytics.flushInterval ist ungültig | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| Fehler | config.analytics.flushInterval ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| Fehler | config.analytics.proxy ist nicht „dummy“ | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| Fehler | config.analytics.proxy ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| Fehler | config.analytics.proxy_revision ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| Fehler | config.analytics.proxy_revision ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| Fehler | config.analytics.source ist nicht „microgateway“ | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| Fehler | config.analytics.source ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| Fehler | config.analytics.uri ist kein String | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| Fehler | config.analytics.uri ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| Fehler | config.apikeys.public_key ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| Fehler | config.edge_config ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edge_config, 'config.edge_config is not defined'); |
| Fehler | config.edge_config.bootstrap ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| Fehler | config.edge_config.jwt_public_key ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| Fehler | config.edge_config.proxy muss definiert werden, wenn config.edge_config.proxy_tunnel definiert ist | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy must be defined if config.edge_config.proxy_tunnel is defined'); |
| Fehler | config.edge_config.proxy_tunnel ist kein boolescher Wert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| Fehler | config.edge_config.refresh_interval ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| Fehler | config.edge_config.refresh_interval ist zu klein (mindestens 1 Stunde). | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| Fehler | config.edge_config.retry_interval ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| Fehler | „config.edge_config.retry_interval“ ist zu klein (mindestens 5 Sekunden) | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| Fehler | config.edgemicro ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| Fehler | config.edgemicro.logging ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| Fehler | config.edgemicro.logging.dir ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| Fehler | config.edgemicro.logging.level ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| Fehler | config.edgemicro.max_connections ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| Fehler | config.edgemicro.max_connections ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| Fehler | config.edgemicro.plugins.sequence ist kein Array | [Rechte] geltend machen; [Rechte] beanspruchen | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| Fehler | config.edgemicro.port ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| Fehler | config.oauth.allowInvalidAuthorization ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| Fehler | config.oauth.allowNoAuthorization ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| Fehler | config.oauth.public_key ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| Fehler | config.oauthv2.public_key ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| Fehler | config.proxies ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.proxies, 'config.proxies is not defined'); |
| Fehler | config.proxy[ + index + ].base_path ist nicht definiert. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| Fehler | config.proxy[ + index + ].max_connections ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| Fehler | config.proxy[ + index + ].max_connections ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| Fehler | config.proxy[ + index + ].name ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| Fehler | config.proxy[ + index + ].proxy_name ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| Fehler | config.proxy[ + index + ].revision ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| Fehler | config.proxy[ + index + ].url ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| Fehler | config.quota.allow ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| Fehler | config.quota.allow ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| Fehler | config.quota.interval ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| Fehler | config.quota.interval ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| Fehler | config.spikearrest ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| Fehler | config.spikearrest.allow ist ungültig | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| Fehler | config.spikearrest.allow ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| Fehler | config.spikearrest.allow ist nicht definiert | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.spikearrest.allow, 'config.spikearrest.allow is not defined'); |
| Fehler | config.spikearrest.bufferSize ist ungültig | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| Fehler | config.spikearrest.bufferSize ist keine Zahl | [Rechte] geltend machen; [Rechte] beanspruchen | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| Fehler | config.spikearrest.timeUnit ist nicht definiert. | [Rechte] geltend machen; [Rechte] beanspruchen | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| Fehler | KRITISCHER FEHLER: Fehler beim Parsen der heruntergeladenen Produktliste | callback | |
| Fehler | KRITISCHER FEHLER: Fehler beim Parsen der heruntergeladenen Proxyliste | callback | |
| Fehler | FEHLER BEI DER PRODUKTKONFIGURATION ERKANNT | console.error | Gefolgt von console.warn('using old cached configuration'); |
| Fehler | Fehler beim Lesen der Konfiguration aus | wirft | YAML-Konfigurationsdatei |
| Fehler | Fehler beim Speichern der Konfiguration in | callback | YAML-Konfigurationsdatei |
| Fehler | fatal: cached config not available, unable to continue (fatal: Zwischengespeicherte Konfiguration nicht verfügbar, kann nicht fortgesetzt werden) | callback | |
| Fehler | interval_message | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.quota.interval > 0, interval_message); |
| Fehler | Ungültiges Protokoll für config.edge_config.proxy (erwartet: http: oder https:: + proxy_url.protocol) | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| Fehler | Ungültiger Proxy-Host für config.edge_config.proxy | [Rechte] geltend machen; [Rechte] beanspruchen | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| Fehler | Offenbar wurde Edge Micro nicht konfiguriert. Weitere Informationen finden Sie im Administratorhandbuch. | callback | Ergebnis: Konfiguration kann nicht geladen werden |
| Fehler | Schlüssel fehlt | [Rechte] geltend machen; [Rechte] beanspruchen | assert(keys.key, 'key is missing'); |
| Fehler | configDir muss vorhanden sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(configDir, 'must have configDir') |
| Fehler | Erforderliche Optionen | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options, 'must have options'); |
| Fehler | Muss eine Quelle haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(source, 'must have source') |
| Fehler | Muss eine Quelle zum Laden haben | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.source, 'must have source to load from') |
| Fehler | targetFile muss vorhanden sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(fileName, 'must have targetFile') |
| Fehler | „options“ darf nicht null sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options, 'options cannot be null'); |
| Fehler | options.keys darf nicht null sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(options.keys, 'options.keys cannot be null'); |
| Fehler | port_message | [Rechte] geltend machen; [Rechte] beanspruchen | assert(+config.edgemicro.port < 65536, port_message); |
| Fehler | „products“ sollte ein Array sein | [Rechte] geltend machen; [Rechte] beanspruchen | assert(Array.isArray(products), 'products should be an array'); |
| Fehler | „proxies for product “ + product + “ should be an array” | [Rechte] geltend machen; [Rechte] beanspruchen | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| Fehler | Secret fehlt | [Rechte] geltend machen; [Rechte] beanspruchen | assert(keys.secret, 'secret is missing'); |
| Fehler | Ziel nicht festgelegt | [Rechte] geltend machen; [Rechte] beanspruchen | assert(target, 'target is not set'); |
| warn | Fehler beim Herunterladen der Konfiguration. Überprüfen Sie die Bootstrap-Konfiguration. | console.warn | |
| warn | Fehler beim Herunterladen von „jwt_public_key“ | console.warn | |
| warn | jwk-Schlüssel sind nicht aktiviert | console.warn | |
| warn | message, 'download from', url, 'returned' | console.warn | Suchen nach: (.*)\sdownload from\s(.*)\sreturned |
| warn | Keine Edge-Mikroprodukte in der Antwort gefunden | console.warn | |
| warn | Keine Edge-Micro-Proxys in der Organisation gefunden | console.warn | |
| warn | Keine Edge-Micro-Proxys in der Antwort gefunden | console.warn | |
| warn | Keine Produkte in der Organisation gefunden | console.warn | |
| warn | Keine Produkte in der Antwort gefunden | console.warn | |
| warn | alte Konfiguration aus dem Cache verwendet | console.warn | |
microgateway-plugins-Modul |
|||
| Fehler | Konfiguration nicht vorhanden | wirft | Bezieht sich auf die YAML-Datei |
| Fehler | apikey | HTTP-Antwort | Fehler im Apiky-Plug‑in |
| Fehler | bauth | HTTP-Antwort | Fehler im bauth-Plug-in |
| Fehler | extauth | HTTP-Antwort | Fehler im Plug‑in „extauth“ |
| Fehler | OAuth | HTTP-Antwort | Fehler im OAuth-Plug‑in |
| warn | Beim Verarbeiten von Apigee-Analysen ist ein Fehler aufgetreten. Verarbeitung von Anfragen fortsetzen | logger.error | |
| warn | err wird ignoriert | console.warn | apikeys-, oauth- und oauthv2-Plug-ins |
| warn | Fehler beim Parsen von JWT: | console.warn | |
| warn | Im OAuth-Antwortobjekt fehlt „setHeader“ | console.warn | Ein OAuth-Parameterfehler weist darauf hin, dass einige Fehler nicht gemeldet werden. |
| warn | Das OAuth-Antwortobjekt wird nicht von der Laufzeit bereitgestellt. | console.warn | oauth-Parameterfehler |
| warn | Das oath-Statistikobjekt wird von der Laufzeit nicht bereitgestellt. | console.warn | oauth-Parameterfehler |
apigeetool-node-Modul |
|||
| Fehler | Das Löschen des Cache ist mit dem Statuscode %d fehlgeschlagen.', res.statusCode | callback | Wird in „deletecache.js“ ausgelöst. Statuscode von Apigee Edge. Übergibt einen Stacktrace-Fehler mit dieser Meldung an den Callback: done(new Error(errMsg)); |
| Fehler | Das Löschen des Produkts ist mit dem Statuscode %d fehlgeschlagen.', res.statusCode | callback | Wird in „deleteproduct.js“ ausgelöst. Statuscode von Apigee Edge. Übergibt einen Stacktrace-Fehler mit dieser Meldung an den Callback: done(new Error(errMsg)); |
| Fehler | org, api und revision müssen alle angegeben werden. | callback | Wird in fetchproxy.js ausgelöst. Konfigurationsfehler. |
| Fehler | Beim Abrufen des Proxys wurde der Fehler %d empfangen: %j | callback | Wird in fetchproxy.js ausgelöst. Ein anderer Statuscode als 200. |
| Fehler | App konnte nicht erstellt werden (Statuscode %d) | callback | Wird in createapp.js ausgelöst. Gibt alle Fehler als Stacktrace-Fehler an Callbacks zurück. Es werden keine Konsolenausgaben oder Logeinträge erstellt. |
| Fehler | Der Befehl + „“ ist mit dem Statuscode %d fehlgeschlagen. | callback | Wird in command-utils.js ausgelöst. Für jeden Befehl, der geparst und an dieses Modul übergeben wird, wird bei jedem Code, der nicht 200 oder 201 ist, eine Fehlermeldung generiert. Formatiert diese Nachricht, druckt sie aber nicht. Gibt einen Stacktrace-Fehler mit der Meldung an Callbacks zurück. |
| Fehler | Beim Abrufen des freigegebenen Ablaufs ist der Fehler %d aufgetreten: %s | callback | Wird in fetchsharedflow.js ausgelöst. Für alle HTTP-Statuscodes, die nicht 200 sind. Wenn der Vorgang erfolgreich ist, aber das Schreiben einer Datei fehlschlägt, wird in die Konsole geschrieben: Failed to write file Error text: [stack_trace_error] |
| Fehler | „Create KeySecret“ ist mit dem Statuscode %d fehlgeschlagen. res.statusCode | callback | Wird in createappkey.js ausgelöst. Für HTTP-Statuscodes von Apigee Edge, die nicht 200 oder 201 sind. |
| Fehler | Fehler beim Erstellen des Caches mit dem Statuscode %d', res.statusCode | callback | Wird in createcache.js ausgelöst. Für HTTP-Statuscodes von Apigee Edge, die nicht 200 oder 201 sind. |
| Fehler | „Create Product“ ist mit dem Statuscode %d fehlgeschlagen. res.statusCode | callback | Wird in createproduct.js ausgelöst. Für HTTP-Statuscodes von Apigee Edge, die nicht 201 sind. Wenn der HTTP-Status 201 ist, die Antwort jedoch Fehler-JSON enthält, wird der Fehler-JSON an den Callback weitergeleitet. |
| Fehler | Das Löschen der App ist mit dem Statuscode %d fehlgeschlagen. res.statusCode | callback | Wird in deleteapp.js ausgelöst. Für HTTP-Statuscodes von Apigee Edge, die nicht 200 sind. Wenn der HTTP-Status 200 ist, die Antwort jedoch Fehler-JSON enthält, wird die Fehler-JSON an den Callback weitergeleitet. |
| Fehler | „Create Developer failed with status code %d', res.statusCode“ (Entwickler konnte nicht erstellt werden, Statuscode %d, res.statusCode) | callback | Wird in createdeveloper.js ausgelöst. Für HTTP-Statuscodes von Apigee Edge, die nicht 201 sind. Wenn der HTTP-Status 201 ist, die Antwort jedoch Fehler-JSON enthält, wird der Fehler-JSON an den Callback weitergeleitet. |
| Fehler | Das Löschen des Entwicklers ist mit dem Statuscode %d fehlgeschlagen.', res.statusCode | callback | Wird in deletedeveloper.js ausgelöst. Für HTTP-Statuscodes von Apigee Edge, die nicht 200 sind. Wenn der HTTP-Status 200 ist, die Antwort jedoch Fehler-JSON enthält, wird die Fehler-JSON an den Callback weitergeleitet. |
Plug-in-Fehler
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| 503 | Too busy. No messages in HTTP or console | ||
| default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth plug-in (v1) with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| Access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2 plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | uri parameter must be specified | apigeequota.js | |
| throw | key parameter must be specified | apigeequota.js | |
| callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
| callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
| callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
| callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | start time not allowed for month time units | quota.js. volos error on time format. | |
| throw | Invalid start time %s | quota.js. volos error on time format. | |
| throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
| throw | Invalid timeUnit %s | spikearrest.js | |
| callback | key must be a string | spikearrest.js | |
| throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase plug-in with descriptions of possible causes.
No errors generated.