You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Harveer (JIRA)" <ji...@apache.org> on 2017/03/16 03:28:41 UTC

[jira] [Commented] (WW-4310) All form submission failed due to ognl.OgnlException: target is null for setProperty

    [ https://issues.apache.org/jira/browse/WW-4310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15927410#comment-15927410 ] 

Harveer commented on WW-4310:
-----------------------------

Hi Team,

I am also facing same kind of issue as mentioned above.

Recently we have upgraded to struts2-core-2.3.32.jar version from struts2-core-2.3.20.jar. As part of this upgrade, we have replaced/added below dependency jars

struts2-javatemplates-plugin-2.3.32.jar
struts2-core-2.3.32.jar
asm-3.3.jar
xwork-core-2.3.32.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
freemarker-2.3.22.jar
javassist-3.11.0.GA.jar
ognl-3.0.19.jar
commons-fileupload-1.3.2.jar
commons-io-2.2.jar
commons-lang3-3.2.jar
xwork-core-2.3.32.jar

In certain screens, request parameter values are not available in actions. 

From JSP passing value as ,
     eSignatureVO.esignAck :"true" -  [eSignatureVO as Object and esignAck as attribute inside]

we are able to see the values in parametersInterceptors (DEBUG mode).  When execution reaches OgnlRuntime.java class (getGetMethod())

 public static Method getGetMethod(OgnlContext context, Class targetClass, String propertyName) throws IntrospectionException, OgnlException    {
        // Cache is a map in two levels, so we provide two keys (see comments in ClassPropertyMethodCache below)
        Method method = cacheGetMethod.get(targetClass, propertyName);
        if (method != null)
            return method;
cacheGetMethod return (eSignatureVO for propertyName) as eSignatureVO=java.lang.reflect.Method ognl.OgnlRuntime$ClassPropertyMethodCache.get(java.lang.Class,java.lang.String). So values are not set into action variables . Please help us here.

We are able to replicate this in our lower environment. 

Note : we are not facing this across application. Only on certain screens, we are facing this issue. 

Please help us to resolve the same.


> All form submission failed due to ognl.OgnlException: target is null for setProperty
> ------------------------------------------------------------------------------------
>
>                 Key: WW-4310
>                 URL: https://issues.apache.org/jira/browse/WW-4310
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors, Expression Language, Integration
>    Affects Versions: 2.3.15.1
>         Environment: IBM AIX 6.1.0.0
> Websphere Application server 7.0.0.21
> Websphere Portal server 7.0.0.2  
>            Reporter: chenlin
>             Fix For: Future
>
>
> Hi Lukasz Lenart ,
> We are using struts-portlet framework in Websphere Portal server clustering ( 1 Deploy Manager and 4 Portal servers instances) in production. 
> Currently there is one issue happen in one of 4 servers randomly.  The exception is showing login form in set Property is null in one server, but at that time other 3 servers are working fine. This issue can happen in any one of 4 servers  in our production environment. We have also raised few PMR  to  IBM team for this issue. But IBM  said it is not caused by them.  We need your help to check if any possible way to cause this issue in struts.  
> If possible, pls share us your avaliable timing and contact, we would like to have a call with you and IBM support to identify root cause. 
>    
>  ===IBM response=============
> When I refer the past PMR ( 18484,000,834)  we shared on all the findings and waiting for your Application team feedback,  as such I don't think any  further action pending on  IBM Support end. do check with Application team and  can we ask Application team not using 
> the code what Application team using is  not an IBM  API / service code "                         
> com.opensymphony.xwork2.util.logging.commons.CommonsLogger" , good to   
> check with Application team to discuss with respective vender. 
>     
> The  above error code from strut's application code, check with Application support and ask them to explore further. 
> As  I hope we all are in same page now, as  PMR 20364,000,834  & PMR 18184,000,834  - findings Pointing same  struts2 loging function, even application team explore why they enabled this log ? ,how this impacted the  Application Interface page with user login error.
> =====Error Log========
> [3/18/14 1:58:12:142 GMT+08:00] 00000062 OgnlValueStac W com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn Error setting expression 'loginForm.userId' with value '[Ljava.lang.String;@1560156'
>                                 ognl.OgnlException: target is null for setProperty(null, "userId", [Ljava.lang.String;@1560156)
>    at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2326)
>    at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
>    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
>    at ognl.SimpleNode.setValue(SimpleNode.java:301)
>    at ognl.ASTChain.setValueBody(ASTChain.java:227)
>    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
>    at ognl.SimpleNode.setValue(SimpleNode.java:301)
>    at ognl.Ognl.setValue(Ognl.java:737)
>    at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:234)
>    at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:183)
>    at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:170)
>    at com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:148)
>    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:318)
>    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:231)
>    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)