First of all, thanks in advance for any help given.
I will try to describe our problem as good as possible, we have been searching for months in webs like Stack Overflow and all over the internet but none of the proposed solutions has worked :
We are trying to migrate from OC4J 10.1.2.0.2
to Weblogic Server 1036_generic and from java 1.4 to Java 1.8. The structure of the App has not been changed and remains the same. The EAR is compiled with Apache Maven 3.6.3 and Java 1.8.0_131.
The App starts and runs with no problem at all until we want to send a form from JSP to Struts 1.1 (as specified in the POM) with a field of Double Data type. If we fill the field with an Integer value (1,2,3 ...) the server crashes with a 500 error written in our mother tongue (spanish). Notice that the english error description translated is "Argument type Mismatch".
The log of the server lists this error:
<Error> <HTTP> <WEBLOGICSERVERADDRESS> <SERVERCONTAINER> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <[ServletContext@182677010[app:criticalAPP module:criticalAPP path:/criticalAPP spec-version:null], request: Workmanager: default, Version: 1, Scheduled=true, Started=true, Started time: 11 ms
[
POST /criticalAPP/making/concepts.do HTTP/1.1
Accept: */*
Referer: http://WEBLOGICSERVERADDRESS/criticalAPP/making/concepts.do?accion=load&year=2020&state=100&amount=1&version=1
Accept-Language: es-ES
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Content-Length: 1017
DNT: 1
Cache-Control: no-cache
Cookie: JSESSIONID=gSFglg2fR23DVj97boMtgxqXHRAOjA1p-O8PD-TFF!-1845240748; OAMAuthnHintCookie=1
OAM_IMPERSONATOR_USER:
OAM_REMOTE_USER: USER
OAM_LAST_REAUTHENTICATION_TIME: AUTH DATE
OAM_IDENTITY_DOMAIN: DOMAIN
authenticatedState: bWZNNHJEalUrRWxaUWRKTCt3dGgvZDA1TG5ZVmhwS1h4WU95aS9
Connection: Keep-AliveUSER
X-Forwarded-For: IPADRESS
X-WebLogic-KeepAliveSecs: 30
X-WebLogic-Force-JVMID: -1845240748
]] Root cause of ServletException.
java.lang.IllegalArgumentException: **discrepancia en el tipo de argumento**
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
at org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
at org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at es.criticalAPP.autenticacion.AutenticacionFilter.doFilter(AutenticacionFilter.java:97)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at es.criticalAPP.filters.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:34)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1493)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
This is an error never found on the OC4J version, the application is critical in our organization and updating Struts or making structural changes, even for example Java Version beyong 1.8) is not an option.
question from:
https://stackoverflow.com/questions/66062788/argument-type-mismatch-error-at-populating-struts-bean-double-from-jsp-form-in-w 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…