2016-04-10 5 views
1

Ich habe eine Frage zu Restlet. Wie sollen wir mit möglichen Fehlern umgehen? Zum Beispiel ruft eine externe Anwendung das Restlet auf, um einige Daten zu aktualisieren, aber aus irgendeinem Grund schlägt das Restlet fehl. Ich habe einen Haken unten gezeigt:NetSuite Restlet Fehlerbehandlung und Codewiederholung fehlgeschlagen

catch (err) 
{ 
    var errMessage = err; 
    if(err instanceof nlobjError) 
    { 
     errMessage = errMessage + ' ' + err.getDetails() + ' ' + errMessage; 
    } 
    nlapiLogExecution('DEBUG', 'Error', errMessage) 
} 

Ist das ausreichend, um an den Anrufer zurückzusenden?

Was ist, wenn das Restlet versucht, Daten von externer App zu aktualisieren oder abzurufen und fehlschlägt ... Gibt es eine Möglichkeit, das Restlet erneut auszuführen oder ist dies nur in einem geplanten Skript möglich?

Antwort

4

Persönlich bevorzuge ich throw Fehler aus meinen Restlets. Wenn Sie einen Fehler in throw eingeben, gibt NetSuite einen 400 - Bad Request Antwortcode zurück. Wenn Sie das Restlet return normal lassen, gibt NetSuite einen 200 - OK Antwort-Code zurück, ob Sie einen Fehler gefunden haben oder nicht. Die meisten Clients erkennen Fehler/Erfolg mit dem Antwortcode, nicht durch Überprüfen der Antwortdaten.