2016-05-06 25 views
0

Websphere Plugin gibt den HTTP-benutzerdefinierten Fehlercode 422 nicht an den Client zurück, sondern zeigt eine 500-Fehlermeldung an. Dies ist auf WAS 8.5.5.9, IBM HTTP-Server.Websphere Plugin leitet den benutzerdefinierten HTTP-Fehlercode 422 nicht an den Client weiter, sondern zeigt eine 500-Fehlermeldung

+0

Funktioniert hier ganz gut, was war das Ergebnis in http_plugin.log? Können Sie TRACE in plugin-cfg.xml aktivieren? – covener

+0

Ja, ich habe die Ablaufverfolgung aktiviert. Dies war der Fehler im Plugin-Protokoll. – Dilip

+0

[Di Mai 03 07:41:10 2016] 00005838 00001efc - DETAIL: HTTP/1.1 422 [Di Mai 03 07:41:10 2016] 00005838 00001efc - FEHLER: lib_htresponse: htresponseRead: Antwortcode 422 erhalten. Beim Lesen der Antwort 2 ist ein Fehler aufgetreten. [Di May 03 07:41:10 2016] 00005838 00001efc - DEBUG: lib_htresponse: htresponseSetError: Einstellen des Fehlers auf: | INVALID_FORMAT | (3, Zeile: 772) [Di Mai 03 07: 41:10 2016] 00005838 00001efc - FEHLER: ws_common: websphereExecute: Lesen aus einem neuen Stream fehlgeschlagen; Der App Server ist möglicherweise während des Lesens inaktiviert. – Dilip

Antwort

0

Wie auch immer Sie diesen 422-Status einstellen, müssen Sie sicherstellen, dass ein Wort dem Statuscode folgt. Wenn Sie beispielsweise in meinem Test HTTPServletResponse # setStatus und einen unbekannten Statuscode verwenden, fügt WAS mindestens das Wort "Undefined" hinzu.

Der sicherste Weg ist die Verwendung von HTTPServletResponse # sendError, die einen Statuscode und eine Grundzeichenfolge benötigt.

+0

Okay. Die tatsächliche Fehlermeldung aus dem Browser/applcation ist: Fehler -status: 500 -Fehler: undefined -exception: undefined -Nachricht: anstelle der 422 Antwort – Dilip

+0

undefined Das ist nicht wirklich relevant ist. Ihr Protokoll sagt, dass die Statuszeile "HTTP/1.1 422" war, was ungültig ist. Nach dem Statuscode muss eine Grundphrase vorhanden sein. sendError() erfordert, dass Sie beide angeben. Wie generieren Sie den 422 in Ihrem Code? – covener

+0

Okay. Ich werde nachsehen müssen. Danke. – Dilip