good day to all, I am using Power edition smartClient version 9.0 and am getting an error that I don't understand. the goal is to add a user that is a user to an account sending only the relevant information. the payload is below.
what is happening is I have a datasource that selects a number of optional fields, but what I am getting when the field is null is not a null value but a exception stack
i reverted back to smartcCient 8.3 and this problem has gone away
Code:
=== 2013-07-23 11:05:58,066 [ec-5] DEBUG RPCManager - Request #1 (DSRequest) payload: {
values:{
company_id:"3",
company_account_number:"6",
status_cd:"Active",
birth_d:new Date(1374530400000),
company_person_id:null,
role_attendee:true,
role_responsible:false,
role_communicator:false,
role_web_user:false,
use_transport:true,
name:"xxxx",
surname:"yyyy",
gender_cd:"Female",
medical_issues:"nnnn",
school_name:"Swartkop Primary",
school_grade:"4"
},
operationConfig:{
dataSource:"company_person_account_member_view",
operationType:"add"
},
componentId:"dfChangeDetailsDialog",
appID:"builtinApplication",
operation:"company_person_account_member_view_add",
oldValues:{
},
criteria:{
}
}
Code:
=== 2013-07-23 11:05:58,209 [ec-5] DEBUG DataSourceDMI - Invocation threw exception
java.lang.NullPointerException
at com.isomorphic.criteria.AdvancedCriteria.getFieldCriterion(AdvancedCriteria.java:185)
at com.isomorphic.criteria.AdvancedCriteria.getFieldCriterion(AdvancedCriteria.java:178)
at com.isomorphic.criteria.AdvancedCriteria.getFieldCriterion(AdvancedCriteria.java:169)
at com.isomorphic.criteria.AdvancedCriteria.getFieldValue(AdvancedCriteria.java:147)
at com.isomorphic.datasource.DSRequest.getCriteriaValue(DSRequest.java:1933)
at com.isomorphic.datasource.DSRequest.getFieldValue(DSRequest.java:1917)
at za.co.adminonline.dmi.ChangeDetailsDMI.add(ChangeDetailsDMI.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:972)
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:416)
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64)
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2408)
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:215)
at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:172)
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:137)
at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
=== 2013-07-23 11:05:58,245 [ec-5] WARN RequestContext - dsRequest.execute() failed:
java.lang.NullPointerException
at com.isomorphic.criteria.AdvancedCriteria.getFieldCriterion(AdvancedCriteria.java:185)
at com.isomorphic.criteria.AdvancedCriteria.getFieldCriterion(AdvancedCriteria.java:178)
at com.isomorphic.criteria.AdvancedCriteria.getFieldCriterion(AdvancedCriteria.java:169)
at com.isomorphic.criteria.AdvancedCriteria.getFieldValue(AdvancedCriteria.java:147)
at com.isomorphic.datasource.DSRequest.getCriteriaValue(DSRequest.java:1933)
at com.isomorphic.datasource.DSRequest.getFieldValue(DSRequest.java:1917)
at za.co.adminonline.dmi.ChangeDetailsDMI.add(ChangeDetailsDMI.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:972)
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:416)
at com.isomorphic.datasource.DataSourceDMI.execute(DataSourceDMI.java:64)
at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2408)
at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:215)
at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:172)
at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:137)
at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
=== 2013-07-23 11:05:58,285 [ec-5] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
=== 2013-07-23 11:05:58,287 [ec-5] DEBUG SQLTransaction - Rolling back Mysql transaction "938009871"
=== 2013-07-23 11:05:58,317 [ec-5] DEBUG RPCManager - non-DMI response, dropExtraFields: false
=== 2013-07-23 11:05:58,319 [ec-5] DEBUG SQLTransaction - Returning transactional connection for Mysql with hashcode "938009871"
=== 2013-07-23 11:05:58,321 [ec-5] DEBUG SQLTransaction - Ending Mysql transaction "938009871"
=== 2013-07-23 11:05:58,324 [ec-5] DEBUG SQLConnectionManager - About to close PoolableConnection with hashcode "938009871"
=== 2013-07-23 11:05:58,326 [ec-5] DEBUG PoolableSQLConnectionFactory - Executing pingTest 'select 1 from dual' on connection 938009871
=== 2013-07-23 11:05:58,330 [ec-5] INFO Compression - /war/isomorphic/IDACall: 123 -> 113 bytes
Comment