Error de Java Se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens

Muhammad Zeeshan 12 octubre 2023
  1. Causas de Tomcat: java.lang.IllegalArgumentException: se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens Error
  2. Solución de Tomcat: java.lang.IllegalArgumentException: se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens Error
Error de Java Se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens

El tutorial discutirá algunas posibles causas y soluciones para Tomcat: java.lang.IllegalArgumentException: se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens.

Causas de Tomcat: java.lang.IllegalArgumentException: se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens Error

Los siguientes son algunos de los posibles escenarios de por qué se produce el error.

  1. Los usuarios pueden encontrarse con esta excepción cuando intentan ejecutar una solicitud HTTPS desde un cliente en un punto final que no tiene HTTPS habilitado. El cliente encripta los datos solicitados cuando el servidor solo se enfoca en los datos sin procesar.

  2. Para decirlo de otra manera, estas excepciones generalmente ocurren cuando existe una disparidad entre lo que anticipa el servidor y lo que recibe. Uno de los muchos resultados concebibles es lo que acabas de describir.

    Su servidor puede tener un punto final que no se adhiere a los estándares HTTPS.

  3. En algunos casos, el valor del encabezado Content-Length no se correspondía con la longitud del cuerpo.

  4. Este error ocurre a menudo cuando intenta utilizar un esquema URI en el servidor en el que se implementa la aplicación que no lo admite.

Solución de Tomcat: java.lang.IllegalArgumentException: se encontró un carácter no válido en el nombre del método. Los nombres de los métodos HTTP deben ser tokens Error

A continuación se enumeran las opciones para resolver el problema que se pueden aplicar.

  1. Reemplace https por http en la URL de su cliente. Lo más probable es que hacerlo sea efectivo. Por ejemplo, si accede al servidor local con http://localhost:8080/foo/bar, utilice la URL https://localhost:8080/foo/bar para acceder a él.

  2. Borre los datos de navegación presionando los controles Ctrl + Shift + Eliminar y luego haga clic en Borrar datos como se muestra en el fragmento.

    Borrar datos de navegación en el navegador web

  1. Borre el “Estado SSL” Dado que el “Estado SSL” no se puede eliminar desde la configuración del navegador de Google Chrome en una PC, esto debe hacerse a través de la configuración del sistema operativo. Por lo tanto, siga estas instrucciones para borrar el estado SSL.

    • En el menú de inicio, busca Opciones de Internet y ábrelo.

    Abrir entre opciones en el menú de inicio

    • Haga clic en la pestaña Contenido en el cuadro de diálogo resultante.

    haga clic en la pestaña de contenido en las propiedades de Internet

    • Haga clic en el botón Borrar estado SSL.

    haga clic en borrar estado SSL en la pestaña de contenido en las propiedades de Internet

    • Haga clic en Aceptar, y se borrará el estado SSL.

    caché ssl borrado

  2. Configurar el protocolo https de la aplicación, que requiere certificado. Let's Encrypt es un recurso que puede proporcionarle certificados. El proceso de producción y adquisición de un certificado autofirmado es la opción más sencilla.

    • Cree primero un archivo Keystore para la aplicación. Este archivo funcionará más como un certificado autofirmado para el protocolo https.
    sudo keytool - genkey - keyalg RSA - alias tomcat - Keystore / usr / share / tomcat.keystore
    
    • A continuación, en el archivo de configuración del servidor Tomcat (/opt/tomcat/conf/server.xml), agregue un conector de servidor Tomcat https para la aplicación:
    sudo nano / opt / tomcat / conf / server.xml
    
    • Termine de configurar la aplicación incluyendo lo siguiente. Tenga en cuenta que se proporcionan tanto la “ruta” como la “contraseña” para el archivo “Almacén de claves”. Además, se especifica un puerto https separado del puerto http.
    <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

Artículo relacionado - Java Error