I will continue to writeups on strange and sometimes unknown XPage and Java related errors that I encounter. Today I suddenly got a new error I never seen before and started to investigate, finding the solution after some troubleshooting that is a good feeling of beating the computer beast.

The error I got was this Argument error: One or more parameters are null.
or in swedish Argumentfel: En eller fler parametrar är null.
The error doesn’t say anything about the problem but the lines after this in the strack trace gave me the clue I needed.
com.sun.faces.renderkit.html_basic.HtmlResponseWriter.writeAttribute(HtmlResponseWriter.java:308) com.ibm.xsp.renderkit.html_basic.AttrsUtil.encodeRenderedAttr(AttrsUtil.java:85) com.ibm.xsp.renderkit.html_basic.AttrsUtil.encodeAttrs(AttrsUtil.java:129)
The first line pointed me to something generating html and the second and third line gave me the answer AttrsUtil.java an HTML component with an attribute that has a null pointer error. The attr property on an html component in HCL XPages doesn’t have any nullpointer protection. So in this case I had an attribute pointing to an viewScope variable that was null in some cases and that gave the problem.
My simple solution was to add this function to all attribute values.
function checkNull(data){
if(data==null){
return ""
}else{
return data
}}
Check out the summary page for all errors I have compiled
The following stack trace is only posted for search engine SEO indexing
java.lang.NullPointerException: Argument error: One or more parameters are null. com.sun.faces.renderkit.html_basic.HtmlResponseWriter.writeAttribute(HtmlResponseWriter.java:308) com.ibm.xsp.renderkit.html_basic.AttrsUtil.encodeRenderedAttr(AttrsUtil.java:85) com.ibm.xsp.renderkit.html_basic.AttrsUtil.encodeAttrs(AttrsUtil.java:129) com.ibm.xsp.renderkit.html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:255) com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180) javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:857) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:872) com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206) com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:843) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:852) com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1320) com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1258) com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:757) com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:323) com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:338) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120) com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270) com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:269) com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157) com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:163) com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138) com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:600) com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1352) com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:877) com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:820) com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:589) com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1336) com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:725) com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:515) com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:371) com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:327) com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:302)
0 Comments.