Hi,

I am trying to send order confirmations from the ofbiz order screen but
every time I press the "Send a confirmation email" link I get an email with
an exception in the body (see bottom).

I noticed that someone else ran into the same issue and raised a bug (
https://issues.apache.org/jira/browse/OFBIZ-5086) but the response was "Its
due to incomplete data in ProductStoreEmailSetting entity. It can be
generated by setting bodyScreenLocation field value blank. This should be
close as we should have proper data in ProductStoreEmailSetting entity."

However it is not immediately clear to me what this means - I have the full
demo data loaded in two environments and the same issue persists in both.

During troubleshooting I did find the table PRODUCT_STORE_EMAIL_SETTING,
which appears to be storing (presumably?) template locations that are
rendered for a variety of purposes. I also did look at the file
sendconfirmationemail.ftl to find that this is the expression it complains
about:
"${screens.render(productStoreEmailSetting.bodyScreenLocation?default(""))}"

My OFBiz version is 13.07.02.

Would someone know how to configure this so that it works - and if so,
could you let me know what to do?

Thanks in advance for your assistance.

Best regards,
Morten Jensen


FreeMarker template error:
Java method "org.ofbiz.widget.screen.ScreenRenderer.render(String)" threw
an exception when invoked on org.ofbiz.widget.screen.ScreenRenderer object
"org.ofbiz.widget.screen.ScreenRenderer@4e3c298e"; see cause exception in
the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
    - Failed at: ${screens.render(productStoreEmailSet...  [in template
"component://order/webapp/ordermgr/order/sendconfirmationemail.ftl" at line
82, column 63]
----

Java stack trace (for programmers):
----
freemarker.core._TemplateModelException: [... Exception message was already
printed; see it above ...]
    at
freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:311)
    at
freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:284)
    at
freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:68)
    at freemarker.core.MethodCall._eval(MethodCall.java:62)
    at freemarker.core.Expression.eval(Expression.java:78)
    at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
    at freemarker.core.DollarVariable.accept(DollarVariable.java:40)
    at freemarker.core.Environment.visit(Environment.java:312)
    at freemarker.core.MixedContent.accept(MixedContent.java:62)
    at
freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
    at freemarker.core.IfBlock.accept(IfBlock.java:48)
    at freemarker.core.Environment.visit(Environment.java:312)
    at freemarker.core.MixedContent.accept(MixedContent.java:62)
    at freemarker.core.Environment.visit(Environment.java:312)
    at freemarker.core.Environment.process(Environment.java:290)
    at
org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:250)
    at
org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:229)
    at
org.ofbiz.widget.screen.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:274)
    at
org.ofbiz.widget.screen.HtmlWidget.renderWidgetString(HtmlWidget.java:134)
    at
org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:992)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:700)
    at
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:131)
    at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:733)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:700)
    at
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:131)
    at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:733)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:335)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:335)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:335)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
    at
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
    at
org.ofbiz.widget.screen.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:600)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
    at
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
    at
org.ofbiz.widget.screen.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:600)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
    at
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
    at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:667)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    at
org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:396)
    at
org.ofbiz.widget.screen.ScreenFactory.renderReferencedScreen(ScreenFactory.java:216)
    at
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:667)
    at
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:106)
    at
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:193)
    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:917)
    at
org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:615)
    at
org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:211)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at
org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:317)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: Error in screen
location/name: no "#" found to separate the location from the name; correct
example: component://product/screen/product/ProductScreens.xml#EditProduct
    at
org.ofbiz.widget.screen.ScreenFactory.getResourceNameFromCombined(ScreenFactory.java:69)
    at org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:95)
    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:606)
    at
freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1458)
    at
freemarker.ext.beans.ReflectionCallableMemberDescriptor.invokeMethod(ReflectionCallableMemberDescriptor.java:52)
    at
freemarker.ext.beans.MemberAndArguments.invokeMethod(MemberAndArguments.java:48)
    at
freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:62)
    ... 86 more

Reply via email to