ComplianceOnline

FDA Guidance on Oversight of Clinical Investigations: A Risk-Based Approach to Monitoring

  • By: Staff Editor
  • Date: January 26, 2017
  • Source: http://www.fda.gov
Access Regulatory Compliance Training sessions led by expert panelists below.

Compliance Webinars | Virtual Seminars for Professionals

FDA Guidance on Oversight of Clinical Investigations: A Risk-Based Approach to Monitoring

The conduct of clinical trials are monitored through variety of approaches that differ between businesses, government organization, and educational institutions. Considering this variability, the FDA guidance describes the risk based strategy for monitoring, including the use of on-site monitoring, centralized monitoring, and additional alternative monitoring techniques

The alternative monitoring practices include communication with the Clinical Investigator (CI) and study site staff; review of the study site’s processes, procedures, and records including informed consent; and verification of the data accuracy submitted to the sponsor.

Risk Based Monitoring

The FDA guidance recommends the use of monitoring plan that is tailored to the specific study subject protection and data integrity risks of the clinical trial. The risk based monitoring plan should consist of the following steps:

Identification of critical data and processes to be monitored:

Examples of the type of data and processes include verification of informed consent form, documentation of processes related to study endpoints, protocol-required safety assessment and reporting serious adverse events etc.

Performing a risk assessment:

There are many risk assessment tools that can be applied to clinical trials. This guidance doesn’t specify the particular methodologies for performing the risk assessment.

Factors to consider when developing a monitoring plan:

Complexity of the study design, types of study endpoints, clinical complexity of the study population, electronic data capture, and quantity of data are some of the factors among others that should be considered when developing a monitoring plan.

Developing a monitoring plan:

The components of monitoring plan include description of monitoring approaches, communication of monitoring results, management of noncompliance, ensuring quality monitoring and monitoring plan amendments.

Though the guidance mainly focusses on monitoring the conduct of clinical trials, it also highlights additional strategies that can affect study quality.

Related Training:

Risk-based Approach to the Process of Monitoring and Auditing Clinical Trial

Data Monitoring Committees (DMCs) in Clinical Research

Click here to download the file
Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@614bfd89 with arguments of types [java.lang.String,] The problematic instruction: ---------- ==> ${screens.render("component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail")} [on line 9, column 17 in component://ecommerce/webapp/ecommerce/CONew2016/bestpractices/article_detail/contentDetailMain.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@614bfd89 with arguments of types [java.lang.String,] at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104) at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:865) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:582) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.metricstream.SEOServlet.dispatchEcommerceRequest(SEOServlet.java:287) at com.metricstream.SEOServlet.findPattern(SEOServlet.java:236) at com.metricstream.SEOServlet.doGet(SEOServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 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:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:409) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) ... 76 more Caused by: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:348) at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) at org.ofbiz.widget.ModelWidgetAction$Script.runAction(ModelWidgetAction.java:416) at org.ofbiz.widget.ModelWidgetAction.runSubActions(ModelWidgetAction.java:116) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:184) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) ... 83 more
Best Sellers
Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@614bfd89 with arguments of types [java.lang.String,] The problematic instruction: ---------- ==> ${screens.render("component://ecommerce/widget/CONew2016/BaseScreens.xml#recently-viewed")} [on line 28, column 1 in component://ecommerce/webapp/ecommerce/CONew2016/bestpractices/article_detail/contentDetailMain.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@614bfd89 with arguments of types [java.lang.String,] at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104) at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:865) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:582) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.metricstream.SEOServlet.dispatchEcommerceRequest(SEOServlet.java:287) at com.metricstream.SEOServlet.findPattern(SEOServlet.java:236) at com.metricstream.SEOServlet.doGet(SEOServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 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:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen [component://ecommerce/widget/CONew2016/BaseScreens.xml#recently-viewed]: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) (The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object)) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:423) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) ... 76 more Caused by: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:159) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:127) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:388) ... 83 more Caused by: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:348) at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) at org.ofbiz.widget.ModelWidgetAction$Script.runAction(ModelWidgetAction.java:416) at org.ofbiz.widget.ModelWidgetAction.runSubActions(ModelWidgetAction.java:116) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:184) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) ... 83 more
Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@614bfd89 with arguments of types [java.lang.String,] The problematic instruction: ---------- ==> ${screens.render("component://ecommerce/widget/CONew2016/BaseScreens.xml#main-footer")} [on line 11, column 1 in component://ecommerce/webapp/ecommerce/CONew2016/templates/articleDetail.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateModelException: Method public java.lang.String org.ofbiz.widget.screen.ScreenRenderer.render(java.lang.String) throws org.ofbiz.base.util.GeneralException,java.io.IOException,org.xml.sax.SAXException,javax.xml.parsers.ParserConfigurationException threw an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer@614bfd89 with arguments of types [java.lang.String,] at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:134) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at org.ofbiz.widget.screen.MacroScreenViewHandler.render(MacroScreenViewHandler.java:104) at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:865) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:582) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:547) at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.metricstream.SEOServlet.dispatchEcommerceRequest(SEOServlet.java:287) at com.metricstream.SEOServlet.findPattern(SEOServlet.java:236) at com.metricstream.SEOServlet.doGet(SEOServlet.java:49) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 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:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen [component://ecommerce/widget/CONew2016/BaseScreens.xml#main-footer]: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) (The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object)) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:423) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) ... 53 more Caused by: org.ofbiz.entity.transaction.GenericTransactionException: The current transaction is marked for rollback, not beginning a new transaction and aborting current operation; the rollbackOnly was caused by: Error rendering screen [component://ecommerce/widget/CONew2016/BestPracticesPageScreens.xml#trainings-article-detail]: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null objectjava.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object (Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:159) at org.ofbiz.entity.transaction.TransactionUtil.begin(TransactionUtil.java:127) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:388) ... 60 more Caused by: java.lang.IllegalArgumentException: Error running script at location [component://ecommerce/webapp/ecommerce/WEB-INF/actions/CONew2016/bestpractices/article_detail/trainings_articleDetail.groovy]: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getString() on null object at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:348) at org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) at org.ofbiz.widget.ModelWidgetAction$Script.runAction(ModelWidgetAction.java:416) at org.ofbiz.widget.ModelWidgetAction.runSubActions(ModelWidgetAction.java:116) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:184) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:135) at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:97) at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:866) at freemarker.ext.beans.OverloadedMethodModel.exec(OverloadedMethodModel.java:104) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.Environment.process(Environment.java:199) at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257) at org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:225) at org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:270) at org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:130) at org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:920) at org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104) at org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:191) at org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396) ... 60 more