HOWTO · Java
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
En el tutorial que repasaremos hoy, hablaremos sobre algunas de las posibles causas y soluciones del 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.
En esta página
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.
-
Los usuarios pueden encontrarse con esta excepción cuando intentan ejecutar una solicitud
HTTPSdesde un cliente en un punto final que no tieneHTTPShabilitado. El cliente encripta los datos solicitados cuando el servidor solo se enfoca en los datos sin procesar. -
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. -
En algunos casos, el valor del encabezado
Content-Lengthno se correspondía con la longitud del cuerpo. -
Este error ocurre a menudo cuando intenta utilizar un esquema
URIen 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.
-
Reemplace
httpsporhttpen la URL de su cliente. Lo más probable es que hacerlo sea efectivo. Por ejemplo, si accede al servidor local conhttp://localhost:8080/foo/bar, utilice la URLhttps://localhost:8080/foo/barpara acceder a él. -
Borre los datos de navegación presionando los controles
Ctrl+Shift+Eliminary luego haga clic enBorrar datoscomo se muestra en el fragmento.
-
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 Internety ábrelo.
- Haga clic en la pestaña
Contenidoen el cuadro de diálogo resultante.
- Haga clic en el botón
Borrar estado SSL.
- Haga clic en
Aceptar, y se borrará el estado SSL.
- En el menú de inicio, busca
-
Configurar el protocolo
httpsde la aplicación, que requiere certificado.Let's Encryptes 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
Keystorepara la aplicación. Este archivo funcionará más como un certificado autofirmado para el protocolohttps.
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
httpspara 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
httpsseparado del puertohttp.
<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"/> - Cree primero un archivo