<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle22
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Providing the full stack trace for my earlier email regarding the NullPointerException:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Courier New";color:#333333;background:white'>com.evolveum.midpoint.util.exception.SystemException: java.lang.NullPointerException at com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl.notifyChange(SynchronizationServiceImpl.java:149) at com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl$ResourceObjectChangeDispatcher.lambda$notifyChange$0(EventDispatcherImpl.java:75) at com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl$AbstractDispatcher.notify(EventDispatcherImpl.java:254) at com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl$ResourceObjectChangeDispatcher.notifyChange(EventDispatcherImpl.java:75) at com.evolveum.midpoint.provisioning.impl.EventDispatcherImpl.notifyChange(EventDispatcherImpl.java:66) at com.evolveum.midpoint.model.impl.sync.tasks.Synchronizer.handleObjectInternal(Synchronizer.java:136) at com.evolveum.midpoint.model.impl.sync.tasks.Synchronizer.synchronize(Synchronizer.java:99) at com.evolveum.midpoint.model.impl.sync.tasks.imp.ImportFromResourceLauncher.importSingleShadow(ImportFromResourceLauncher.java:68) at com.evolveum.midpoint.model.impl.controller.ModelController.importFromResource(ModelController.java:1539) at jdk.internal.reflect.GeneratedMethodAccessor1072.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.wicket.proxy.jdk.JdkProxyFactory$JdkHandler.invoke(JdkProxyFactory.java:172) at com.sun.proxy.$Proxy176.importFromResource(Unknown Source) at com.evolveum.midpoint.web.page.admin.resources.ResourceContentPanel.importResourceObject(ResourceContentPanel.java:916) at com.evolveum.midpoint.web.page.admin.resources.ResourceContentPanel$13$1.onSubmit(ResourceContentPanel.java:817) at com.evolveum.midpoint.web.component.data.column.InlineMenuButtonColumn.buttonMenuItemClickPerformed(InlineMenuButtonColumn.java:169) at com.evolveum.midpoint.web.component.data.column.InlineMenuButtonColumn$1$1.onClick(InlineMenuButtonColumn.java:124) at org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:85) at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:146) at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:630) at org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306) at org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:280) at org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:222) at org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:910) at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:63) at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:294) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:255) at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:277) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:208) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:307) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:404) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at com.evolveum.midpoint.web.security.filter.MidpointAnonymousAuthenticationFilter.doFilter(MidpointAnonymousAuthenticationFilter.java:88) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:219) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:213) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at com.evolveum.midpoint.web.security.filter.RedirectForLoginPagesWithAuthenticationFilter.doFilterInternal(RedirectForLoginPagesWithAuthenticationFilter.java:39) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter$VirtualFilterChain.doFilter(MidpointAuthFilter.java:416) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter.processingOfAuthenticatedRequest(MidpointAuthFilter.java:374) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter.doFilterInternal(MidpointAuthFilter.java:191) at com.evolveum.midpoint.web.security.filter.MidpointAuthFilter.doFilter(MidpointAuthFilter.java:109) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:169) at com.evolveum.midpoint.web.security.filter.TranslateExceptionFilter.doFilterInternal(TranslateExceptionFilter.java:32) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171) at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147) at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy$VirtualFilterChain.doFilter(MidpointFilterChainProxy.java:171) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy.doFilterInternal(MidpointFilterChainProxy.java:95) at com.evolveum.midpoint.web.security.filter.MidpointFilterChainProxy.doFilter(MidpointFilterChainProxy.java:60) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at com.evolveum.midpoint.web.boot.TrailingSlashRedirectingFilter.doFilterInternal(TrailingSlashRedirectingFilter.java:60) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at com.evolveum.midpoint.web.boot.NodeIdHeaderValve.invoke(NodeIdHeaderValve.java:46) at com.evolveum.midpoint.web.boot.TomcatRootValve.invoke(TomcatRootValve.java:62) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NullPointerException</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thank you,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Jeremiah Haywood<o:p></o:p></p><p class=MsoNormal>Lead IAM Administrator<o:p></o:p></p><p class=MsoNormal>Office of Technology Solutions | Illinois State University<o:p></o:p></p><p class=MsoNormal>Phone Number (309) 438-3829<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> Haywood, Jeremiah <br><b>Sent:</b> Wednesday, April 13, 2022 8:07 AM<br><b>To:</b> midPoint General Discussion <midpoint@lists.evolveum.com><br><b>Subject:</b> NullPointerException Resource Reconciliation/Import<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good morning, <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am running into an odd error when attempting to reconcile and/or re-import a database resource using the default connector. There are currently 3 fields that are being mapped, an ID field as the unique column (read only), a roles field with an expression on the inbound to conduct an assignment target search, and lastly timestamp field for the changelog column. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On initial import everything works as expected. Reconciliations initiated at the user level works as well. But when attempting a resource reconciliation I receive many “java.lang.NullPointerException” exceptions. Currently configured schemaHandling:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><schemaHandling><o:p></o:p></p><p class=MsoNormal>    <objectType><o:p></o:p></p><p class=MsoNormal>        <kind>account</kind><o:p></o:p></p><p class=MsoNormal>        <default>true</default><o:p></o:p></p><p class=MsoNormal>        <objectClass>ri:AccountObjectClass</objectClass><o:p></o:p></p><p class=MsoNormal>        <attribute><o:p></o:p></p><p class=MsoNormal>            <ref>icfs:name</ref><o:p></o:p></p><p class=MsoNormal>            <limitations><o:p></o:p></p><p class=MsoNormal>                <access><o:p></o:p></p><p class=MsoNormal>                    <read>true</read><o:p></o:p></p><p class=MsoNormal>                </access><o:p></o:p></p><p class=MsoNormal>            </limitations><o:p></o:p></p><p class=MsoNormal>        </attribute><o:p></o:p></p><p class=MsoNormal>        <attribute><o:p></o:p></p><p class=MsoNormal>            <ref>ri:ROLES</ref><o:p></o:p></p><p class=MsoNormal>            <inbound><o:p></o:p></p><p class=MsoNormal>                <trace>true</trace><o:p></o:p></p><p class=MsoNormal>                <strength>strong</strength><o:p></o:p></p><p class=MsoNormal>                <authoritative>true</authoritative><o:p></o:p></p><p class=MsoNormal>                <expression><o:p></o:p></p><p class=MsoNormal>                    <assignmentTargetSearch><o:p></o:p></p><p class=MsoNormal>                        <targetType>OrgType</targetType><o:p></o:p></p><p class=MsoNormal>                        <filter><o:p></o:p></p><p class=MsoNormal>                            <q:equal><o:p></o:p></p><p class=MsoNormal>                                <q:path>name</q:path><o:p></o:p></p><p class=MsoNormal>                                <expression><o:p></o:p></p><p class=MsoNormal>                                    <script><o:p></o:p></p><p class=MsoNormal>                                        <code><o:p></o:p></p><p class=MsoNormal>                                            return input?.tokenize('\\| ')<o:p></o:p></p><p class=MsoNormal>                                        </code><o:p></o:p></p><p class=MsoNormal>                                    </script><o:p></o:p></p><p class=MsoNormal>                                </expression><o:p></o:p></p><p class=MsoNormal>                            </q:equal><o:p></o:p></p><p class=MsoNormal>                        </filter><o:p></o:p></p><p class=MsoNormal>                    </assignmentTargetSearch><o:p></o:p></p><p class=MsoNormal>                </expression><o:p></o:p></p><p class=MsoNormal>                <target><o:p></o:p></p><p class=MsoNormal>                    <path>assignment</path><o:p></o:p></p><p class=MsoNormal>                    <set><o:p></o:p></p><p class=MsoNormal>                        <predefined>all</predefined><o:p></o:p></p><p class=MsoNormal>                    </set><o:p></o:p></p><p class=MsoNormal>                </target><o:p></o:p></p><p class=MsoNormal>            </inbound><o:p></o:p></p><p class=MsoNormal>        </attribute><o:p></o:p></p><p class=MsoNormal>    </objectType><o:p></o:p></p><p class=MsoNormal></schemaHandling><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Has anyone experienced something similar? <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thank you,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Jeremiah Haywood<o:p></o:p></p><p class=MsoNormal>Lead IAM Administrator<o:p></o:p></p><p class=MsoNormal>Office of Technology Solutions | Illinois State University<o:p></o:p></p><p class=MsoNormal>Phone Number (309) 438-3829<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>