java.lang.IllegalArgumentException: Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein
Ich bin immer unterhalb der stack-trace, wenn ich der Nutzung meiner Anwendung in einer multi-server-Apache Tomcat-8-Umgebung. Ich bin immer diese Fehlermeldung Häufig, und es scheint, es ist die Blockierung der tomcat-thread:
INFO [http-nio-80-exec-4461] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:233)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Kann irgend jemand mir direkt, wie Sie zu beheben oder einzugrenzen, so eine Ausnahme? Ich bin nicht immer jede Bezugnahme auf einen meiner Applikation source Dateien. Ich habe versucht, auf google um, und in der links, die sagte, Sie versuchen, Zugriff auf http-url über https, scheint unwahrscheinlich. Ich bin nicht immer dieser Fehler, wenn die Anwendung läuft auf einem einzigen Tomcat-8-Instanz. Bekomme ich diese nur in einer multi-server-Umgebung.
Ich bin auch gemeinsame Nutzung der meta-tags habe ich eingebettet, die auf jeder Seite, wenn das hilft, die Ursache zu identifizieren.
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
%>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1">
Ich bin auch mit dem folgenden in ein paar Seiten, das ist im Grunde dasselbe wie oben:
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="private" />
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Pragma" content="no-cache" />
Selbst wenn jemand hilft, geben eine Richtung für meine Fehlersuche versuchen, das wird hilfreich sein, wie zur Zeit habe ich keine Ahnung, wo zu schauen.
Vielen Dank im Voraus.
InformationsquelleAutor der Frage user2016012 | 2017-02-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Ausnahme kann auftreten, wenn Sie versuchen, auszuführen https-request vom client auf endpoint-was nicht ist https aktiviert. Client verschlüsseln von Daten, wenn der server erwartet, raw-Daten.
InformationsquelleAutor der Antwort Petar Tonev
Bekam ich die gleiche Ausnahme, wenn ich lokal getestet. Das problem war, ein URL-schema in meiner Anfrage.
Ändern
https://to http://in your client url.
Wahrscheinlich hilft es.
InformationsquelleAutor der Antwort Dev4World
War ich immer die gleiche Ausnahme, wenn eine Seite wurde langsam geladen,
Fand ich, dass man meine Seite URL https anstelle von http, wenn ich änderte die gleichen, Fehler war Weg.
InformationsquelleAutor der Antwort Asif Iquebal Ajazi
Wird, die Sie anrufen lokalen server mit http://localhost:8080/foo/bar. Rufen Sie es mit https://localhost:8080/foo/bar. Dies löst das problem
InformationsquelleAutor der Antwort Shivan Sawant