Java-Fehler Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein

Muhammad Zeeshan 15 Februar 2024
  1. Ursachen für Tomcat: java.lang.IllegalArgumentException: Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein Fehler
  2. Lösung von Tomcat: java.lang.IllegalArgumentException: Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein Fehler
Java-Fehler Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein

Das Tutorial behandelt einige mögliche Ursachen und Lösungen für die Ausnahme Tomcat: java.lang.IllegalArgumentException: Invalid character found in method name. HTTP-Methodennamen müssen Token sein.

Ursachen für Tomcat: java.lang.IllegalArgumentException: Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein Fehler

Im Folgenden sind einige der möglichen Szenarien aufgeführt, warum der Fehler auftritt.

  1. Benutzer können auf diese Ausnahme stoßen, wenn sie versuchen, eine HTTPS-Anforderung von einem Client auf einem Endpunkt auszuführen, auf dem HTTPS nicht aktiviert ist. Der Client verschlüsselt die angeforderten Daten, wenn sich der Server nur auf Rohdaten konzentriert.

  2. Um es anders auszudrücken, diese Ausnahmen treten typischerweise immer dann auf, wenn eine Diskrepanz zwischen dem, was der Server erwartet, und dem, was er empfängt, besteht. Eines der vielen denkbaren Ergebnisse ist das, was Sie gerade beschrieben haben.

    Ihr Server verfügt möglicherweise über einen Endpunkt, der nicht den HTTPS-Standards entspricht.

  3. In einigen Fällen entsprach der Wert des Headers Content-Length nicht der Länge des Bodys.

  4. Dieser Fehler tritt häufig auf, wenn Sie versuchen, auf dem Server, auf dem die Anwendung bereitgestellt wird, ein URI-Schema zu verwenden, das es nicht unterstützt.

Lösung von Tomcat: java.lang.IllegalArgumentException: Ungültiges Zeichen im Methodennamen gefunden. HTTP-Methodennamen müssen Token sein Fehler

Nachfolgend sind Optionen zur Lösung des Problems aufgeführt, die angewendet werden können.

  1. Ersetzen Sie in der URL Ihres Clients https durch http. Höchstwahrscheinlich wird dies effektiv sein. Wenn Sie beispielsweise mit http://localhost:8080/foo/bar auf den lokalen Server zugreifen, verwenden Sie die URL https://localhost:8080/foo/bar, um darauf zuzugreifen.

  2. Löschen Sie die Browserdaten, indem Sie die Tasten Strg + Umschalt + Löschen drücken und dann auf Daten löschen klicken, wie im Snippet gezeigt.

    Browserdaten im Webbrowser löschen

  1. SSL-Status löschen Da der SSL-Status nicht in den Browsereinstellungen von Google Chrome auf einem PC entfernt werden kann, muss dies stattdessen über die Einstellungen des Betriebssystems erfolgen. Befolgen Sie daher diese Anweisungen, um den SSL-Status zu löschen.

    • Suchen Sie im Startmenü nach Internetoptionen und öffnen Sie es.

    Interoptionen im Startmenü öffnen

    • Klicken Sie im erscheinenden Dialogfenster auf die Registerkarte Inhalt.

    Klicken Sie auf die Registerkarte Inhalt in den Interneteigenschaften

    • Klicken Sie auf die Schaltfläche SSL-Status löschen.

    Klicken Sie auf SSL-Status löschen unter der Registerkarte Inhalt in den Interneteigenschaften

    • Klicken Sie auf OK, und der SSL-Status wird gelöscht.

    SSL-Cache gelöscht

  2. Konfigurieren Sie das https-Protokoll für die Anwendung, die ein Zertifikat erfordert. Let's Encrypt ist eine Ressource, die Ihnen Zertifikate zur Verfügung stellen kann. Der Prozess der Erstellung und des Erwerbs eines selbstsignierten Zertifikats ist die einfachste Option.

    • Erstellen Sie zuerst eine Keystore-Datei für die Anwendung. Diese Datei funktioniert eher wie ein selbstsigniertes Zertifikat für das https-Protokoll.
    sudo keytool - genkey - keyalg RSA - alias tomcat - Keystore / usr / share / tomcat.keystore
    
    • Als nächstes fügen Sie in der Konfigurationsdatei des Tomcat-Servers (/opt/tomcat/conf/server.xml) einen Tomcat-Server-Connector https für die Anwendung hinzu:
    sudo nano / opt / tomcat / conf / server.xml
    
    • Schließen Sie die Einrichtung der App ab, indem Sie Folgendes hinzufügen. Beachten Sie, dass sowohl der Pfad als auch das Passwort für die Keystore-Datei bereitgestellt werden. Außerdem wird ein vom http-Port getrennter https-Port angegeben.
    <Connector protocol="org.apache.coyote.http11.Http11Protocol"
     port="8443" maxThreads="200" scheme="https"
     secure="true" SSLEnabled="true"
     keystoreFile="/usr/share/tomcat.keystore"
     keystorePass="my-password"
     clientAuth="false" sslProtocol="TLS"
     URIEncoding="UTF-8"
     compression="force"
     compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"/>
    
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Verwandter Artikel - Java Error