Entire Form Fails in Web Client

Hi Folks - since this is our first foray into the Web Client we are struggling to decipher this error. There are two parts to the log of course and both are shown below

When attempting top show a form with multiple tabs and forms we get the error shown below. Only an error page is displayed in the browser. The form indicated as failing (fabman_frm_scopes_insp_input) is on the first tab in the main form. This also happens on a number of other forms with multiple tabs.

I see that it is a wicket error but am at a loss to determine what is wrong and how to correct it - this works fine in SC. BTW we are using Harjo’s CSS (from ServoyForge) though we have tested the result with and without it so pretty sure that is not involved in the error.

Tag '<BODY LANG="en-GB" DIR="LTR">' (line 40, column 88) has a mismatched close tag at '</servoy:remove>' (line 43, column 66) [markup = Markup[solution:tci_excorr_01, fullpath:/servoy-webclient/templates/custom/tci_excorr_01/fabman_frm_scopes_insp_input.html] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>fabman_frm_scopes_insp_input - Servoy</title> <servoy:head> <link rel='stylesheet' type='text/css' href='/servoy-webclient/formcss/tci_excorr_01/fabman_frm_scopes_insp_input_t1306139353338t.css'/> </servoy:head> </head> <body id='servoy_page'> <form id='servoy_dataform'> <servoy:panel> <div id="sfw_form_fabman_frm_scopes_insp_input" style="position: absolute; height: 0px; right: 0px; left: 0px;"></div><div id="sfh_form_fabman_frm_scopes_insp_input" style="position: absolute; bottom: 0px; top: 0px; width: 0px;"></div><div servoy:id="servoywebform" id="form_fabman_frm_scopes_insp_input"> <div servoy:id="View"> <div servoy:id="sv_17D8367D_7996_44C3_BCB0_6995110C557D" id="sv_17D8367D_7996_44C3_BCB0_6995110C557D"> <div style="white-space: nowrap;" servoy:id="sv_1326364D_2068_4403_BE1D_2E7445F20DB9" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_5D538092_CE2C_4C28_9CCC_36AA0C3F5235" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_8F3EFC6F_9903_40AE_83DC_CFFD74503F90" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_A57026EB_1C05_4C2B_90CC_37FA117861EB" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_0726CE50_D115_4554_9FE0_41A4DCEA2278" class="label">Clear All</div> <div style="white-space: nowrap;" servoy:id="sv_1C3C77DD_8781_49B2_9160_FC8615EBE293" class="label">Fabric Maintenence Inspection - Batch Input</div> <div style="white-space: nowrap;" servoy:id="sv_1EB52D51_2D47_47CF_9641_B55D0C0211F7" class="label">Update</div> <div style="white-space: nowrap;" servoy:id="sv_265BB242_FBC6_4C24_A387_CA0F32ADCAED" class="label">Select All</div> <div style="white-space: nowrap;" servoy:id="sv_5D389CA6_95DA_44C4_948D_159A27E49590" class="label">Select Records to Update - Batch Input</div> <div style="white-space: nowrap;" servoy:id="sv_A6E1E485_E533_47F3_8DB5_C31FEAC0D9F6" class="label">Type of Repair Achieved</div> <div style="white-space: nowrap;" servoy:id="sv_B485CD70_2235_4DDD_9587_C3A1E70D4B3F" class="label">Standard of Surface Preparation Achieved</div> <div style="white-space: nowrap;" servoy:id="sv_3DD1AFCC_2EA2_49BF_A97F_1E65D94C4180" class="label">?</div> <div servoy:id="sv_3A541B29_D094_44F8_AA26_440E0B2FA79B" class="tabpanel"> <div servoy:id="webform" class="opaquewebform" style="overflow: auto;position: relative"></div></div> <label for="sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" style="white-space: nowrap;" servoy:id="sv_4103697F_5DA9_4DA3_A7D4_1213093B7BE8" class="label">Clear All Update Tags on Close</label> <div class="field" servoy:id="sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" tabIndex="-1"><input style="float: left; border-width: 0px; padding: 3px; margin: 0px;" servoy:id="check_sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" name="patchRepaired" type="checkbox"/><label for="check_sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" style="float: left; border-width: 0px; padding-top: 2px; margin: 0px;" servoy:id="text_sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344"></label></div> <label for="sv_521748F8_363C_4918_BFE5_C3925DAD6826" style="white-space: nowrap;" servoy:id="sv_52BB3892_815F_4BAE_BA3F_9AB527699693" class="label">New Date Maintained</label> <div servoy:id="sv_521748F8_363C_4918_BFE5_C3925DAD6826" name="newDateMaint" class="field" style="overflow:hidden"><table style='height: 100%;width: 100%;margin: 0px;padding: 0px;border-collapse: collapse;table-layout: fixed' ><tr style='height: 100%;width: 100%;margin: 0px;padding: 0px' ><td style='height: 100%;width: 100%;margin: 0px;padding: 0px' ><input type="text" servoy:id="datefield" style="border-style: none;background-color: transparent;height: 100%;width: 100%;margin: 0px;padding: 0px;font-family: Verdana;font-size: 7pt"/></td></tr></table></div> <label for="sv_D12B363E_82AB_4968_B1FC_417AE22E7491" style="white-space: nowrap;" servoy:id="sv_BC9244AF_9548_4EE6_9ACD_2FF4E3EF4E6D" class="label">Completion %</label> <div servoy:id="sv_D12B363E_82AB_4968_B1FC_417AE22E7491_wrapper" id="sv_D12B363E_82AB_4968_B1FC_417AE22E7491_wrapper"><input servoy:id="sv_D12B363E_82AB_4968_B1FC_417AE22E7491" name="percCompletion" class="field" type="text"/></div> <label for="sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" style="white-space: nowrap;" servoy:id="sv_691CFE16_113C_4D8C_BB71_C8E937EA28BC" class="label">Equal to / Greater Than Sa 2.5 Standard</label> <div class="field" servoy:id="sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" tabIndex="-1"><input style="float: left; border-width: 0px; padding: 3px; margin: 0px;" servoy:id="check_sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" name="blastPreped" type="checkbox"/><label for="check_sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" style="float: left; border-width: 0px; padding-top: 2px; margin: 0px;" servoy:id="text_sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620"></label></div> <label for="sv_C086BDE5_388F_466C_9C45_6F0E5853893C" style="white-space: nowrap;" servoy:id="sv_3092870C_AE0A_46D8_A027_D616BB89AB73" class="label">Patch Repair - Some Areas NOT Prepared</label> <div class="field" servoy:id="sv_C086BDE5_388F_466C_9C45_6F0E5853893C" tabIndex="-1"><input style="float: left; border-width: 0px; padding: 3px; margin: 0px;" servoy:id="check_sv_C086BDE5_388F_466C_9C45_6F0E5853893C" name="clearUpdateTags" type="checkbox"/><label for="check_sv_C086BDE5_388F_466C_9C45_6F0E5853893C" style="float: left; border-width: 0px; padding-top: 2px; margin: 0px;" servoy:id="text_sv_C086BDE5_388F_466C_9C45_6F0E5853893C"></label></div> <div servoy:id="sv_5CCCB2A3_E6AE_4998_9EB9_6A6E0E6AA7AB" class="label"><servoy:remove><BODY LANG="en-GB" DIR="LTR"> <P ALIGN=CENTER><B>Caution:</B> This process will update one or more Fabric Condition Records, Undo is by selecting the</P> <P ALIGN=CENTER>same records and overwriting with new values.</P></servoy:remove></div> </div> </div> </div> </servoy:panel> </form> </body> </html> , index = 118, current = [Raw markup]]
org.apache.wicket.markup.MarkupException: Tag '<BODY LANG="en-GB" DIR="LTR">' (line 40, column 88) has a mismatched close tag at '</servoy:remove>' (line 43, column 66) [markup = Markup[solution:tci_excorr_01, fullpath:/servoy-webclient/templates/custom/tci_excorr_01/fabman_frm_scopes_insp_input.html] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html> <head> <title>fabman_frm_scopes_insp_input - Servoy</title> <servoy:head> <link rel='stylesheet' type='text/css' href='/servoy-webclient/formcss/tci_excorr_01/fabman_frm_scopes_insp_input_t1306139353338t.css'/> </servoy:head> </head> <body id='servoy_page'> <form id='servoy_dataform'> <servoy:panel> <div id="sfw_form_fabman_frm_scopes_insp_input" style="position: absolute; height: 0px; right: 0px; left: 0px;"></div><div id="sfh_form_fabman_frm_scopes_insp_input" style="position: absolute; bottom: 0px; top: 0px; width: 0px;"></div><div servoy:id="servoywebform" id="form_fabman_frm_scopes_insp_input"> <div servoy:id="View"> <div servoy:id="sv_17D8367D_7996_44C3_BCB0_6995110C557D" id="sv_17D8367D_7996_44C3_BCB0_6995110C557D"> <div style="white-space: nowrap;" servoy:id="sv_1326364D_2068_4403_BE1D_2E7445F20DB9" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_5D538092_CE2C_4C28_9CCC_36AA0C3F5235" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_8F3EFC6F_9903_40AE_83DC_CFFD74503F90" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_A57026EB_1C05_4C2B_90CC_37FA117861EB" class="label"></div> <div style="white-space: nowrap;" servoy:id="sv_0726CE50_D115_4554_9FE0_41A4DCEA2278" class="label">Clear All</div> <div style="white-space: nowrap;" servoy:id="sv_1C3C77DD_8781_49B2_9160_FC8615EBE293" class="label">Fabric Maintenence Inspection - Batch Input</div> <div style="white-space: nowrap;" servoy:id="sv_1EB52D51_2D47_47CF_9641_B55D0C0211F7" class="label">Update</div> <div style="white-space: nowrap;" servoy:id="sv_265BB242_FBC6_4C24_A387_CA0F32ADCAED" class="label">Select All</div> <div style="white-space: nowrap;" servoy:id="sv_5D389CA6_95DA_44C4_948D_159A27E49590" class="label">Select Records to Update - Batch Input</div> <div style="white-space: nowrap;" servoy:id="sv_A6E1E485_E533_47F3_8DB5_C31FEAC0D9F6" class="label">Type of Repair Achieved</div> <div style="white-space: nowrap;" servoy:id="sv_B485CD70_2235_4DDD_9587_C3A1E70D4B3F" class="label">Standard of Surface Preparation Achieved</div> <div style="white-space: nowrap;" servoy:id="sv_3DD1AFCC_2EA2_49BF_A97F_1E65D94C4180" class="label">?</div> <div servoy:id="sv_3A541B29_D094_44F8_AA26_440E0B2FA79B" class="tabpanel"> <div servoy:id="webform" class="opaquewebform" style="overflow: auto;position: relative"></div></div> <label for="sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" style="white-space: nowrap;" servoy:id="sv_4103697F_5DA9_4DA3_A7D4_1213093B7BE8" class="label">Clear All Update Tags on Close</label> <div class="field" servoy:id="sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" tabIndex="-1"><input style="float: left; border-width: 0px; padding: 3px; margin: 0px;" servoy:id="check_sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" name="patchRepaired" type="checkbox"/><label for="check_sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344" style="float: left; border-width: 0px; padding-top: 2px; margin: 0px;" servoy:id="text_sv_6DC6D5F5_A62E_4C0E_B0EC_9A7A65CFE344"></label></div> <label for="sv_521748F8_363C_4918_BFE5_C3925DAD6826" style="white-space: nowrap;" servoy:id="sv_52BB3892_815F_4BAE_BA3F_9AB527699693" class="label">New Date Maintained</label> <div servoy:id="sv_521748F8_363C_4918_BFE5_C3925DAD6826" name="newDateMaint" class="field" style="overflow:hidden"><table style='height: 100%;width: 100%;margin: 0px;padding: 0px;border-collapse: collapse;table-layout: fixed' ><tr style='height: 100%;width: 100%;margin: 0px;padding: 0px' ><td style='height: 100%;width: 100%;margin: 0px;padding: 0px' ><input type="text" servoy:id="datefield" style="border-style: none;background-color: transparent;height: 100%;width: 100%;margin: 0px;padding: 0px;font-family: Verdana;font-size: 7pt"/></td></tr></table></div> <label for="sv_D12B363E_82AB_4968_B1FC_417AE22E7491" style="white-space: nowrap;" servoy:id="sv_BC9244AF_9548_4EE6_9ACD_2FF4E3EF4E6D" class="label">Completion %</label> <div servoy:id="sv_D12B363E_82AB_4968_B1FC_417AE22E7491_wrapper" id="sv_D12B363E_82AB_4968_B1FC_417AE22E7491_wrapper"><input servoy:id="sv_D12B363E_82AB_4968_B1FC_417AE22E7491" name="percCompletion" class="field" type="text"/></div> <label for="sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" style="white-space: nowrap;" servoy:id="sv_691CFE16_113C_4D8C_BB71_C8E937EA28BC" class="label">Equal to / Greater Than Sa 2.5 Standard</label> <div class="field" servoy:id="sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" tabIndex="-1"><input style="float: left; border-width: 0px; padding: 3px; margin: 0px;" servoy:id="check_sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" name="blastPreped" type="checkbox"/><label for="check_sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620" style="float: left; border-width: 0px; padding-top: 2px; margin: 0px;" servoy:id="text_sv_9A2C6F3C_414E_405E_8CE5_E0BC31E26620"></label></div> <label for="sv_C086BDE5_388F_466C_9C45_6F0E5853893C" style="white-space: nowrap;" servoy:id="sv_3092870C_AE0A_46D8_A027_D616BB89AB73" class="label">Patch Repair - Some Areas NOT Prepared</label> <div class="field" servoy:id="sv_C086BDE5_388F_466C_9C45_6F0E5853893C" tabIndex="-1"><input style="float: left; border-width: 0px; padding: 3px; margin: 0px;" servoy:id="check_sv_C086BDE5_388F_466C_9C45_6F0E5853893C" name="clearUpdateTags" type="checkbox"/><label for="check_sv_C086BDE5_388F_466C_9C45_6F0E5853893C" style="float: left; border-width: 0px; padding-top: 2px; margin: 0px;" servoy:id="text_sv_C086BDE5_388F_466C_9C45_6F0E5853893C"></label></div> <div servoy:id="sv_5CCCB2A3_E6AE_4998_9EB9_6A6E0E6AA7AB" class="label"><servoy:remove><BODY LANG="en-GB" DIR="LTR"> <P ALIGN=CENTER><B>Caution:</B> This process will update one or more Fabric Condition Records, Undo is by selecting the</P> <P ALIGN=CENTER>same records and overwriting with new values.</P></servoy:remove></div> </div> </div> </div> </servoy:panel> </form> </body> </html> , index = 118, current = [Raw markup]] 
    	at org.apache.wicket.markup.MarkupParser.parseMarkup(MarkupParser.java:392) 
    	at org.apache.wicket.markup.MarkupParser.parse(MarkupParser.java:269) 
    	at org.apache.wicket.markup.loader.SimpleMarkupLoader.loadMarkup(SimpleMarkupLoader.java:53) 
    	at org.apache.wicket.markup.loader.InheritedMarkupMarkupLoader.loadMarkup(InheritedMarkupMarkupLoader.java:62) 
    	at org.apache.wicket.markup.loader.DefaultMarkupLoader.loadMarkup(DefaultMarkupLoader.java:55) 
    	at org.apache.wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:465) 
    	at org.apache.wicket.markup.MarkupCache.loadMarkupAndWatchForChanges(MarkupCache.java:561) 
    	at org.apache.wicket.markup.MarkupCache.getMarkup(MarkupCache.java:325) 
    	at com.servoy.j2db.server.headlessclient.WebForm.getAssociatedMarkupStream(WebForm.java:371) 
    	at org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper.renderHeadFromAssociatedMarkupFile(ContainerWithAssociatedMarkupHelper.java:72) 
    	at org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.renderHeadFromAssociatedMarkupFile(WebMarkupContainerWithAssociatedMarkup.java:73) 
    	at org.apache.wicket.markup.html.panel.Panel.renderHead(Panel.java:137) 
    	at org.apache.wicket.ajax.AjaxRequestTarget$3.component(AjaxRequestTarget.java:1187) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:899) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:914) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:914) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:914) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:914) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:914) 
    	at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:939) 
    	at org.apache.wicket.ajax.AjaxRequestTarget.respondHeaderContribution(AjaxRequestTarget.java:1181) 
    	at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:881) 
    	at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:681) 
    	at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:591) 
    	at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105) 
    	at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258) 
    	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329) 
    	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436) 
    	at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) 
    	at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) 
    	at com.servoy.j2db.server.servlets.Zl.doGet(Zl.java:7) 
    	at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138) 
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567) 
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 
    	at java.lang.Thread.run(Unknown Source) 
    Caused by: java.text.ParseException: Tag '<BODY LANG="en-GB" DIR="LTR">' (line 40, column 88) has a mismatched close tag at '</servoy:remove>' (line 43, column 66) 
    	at org.apache.wicket.markup.parser.filter.HtmlHandler.nextTag(HtmlHandler.java:148) 
    	at org.apache.wicket.markup.parser.filter.WicketRemoveTagHandler.nextTag(WicketRemoveTagHandler.java:81) 
    	at org.apache.wicket.markup.parser.filter.WicketLinkTagHandler.nextTag(WicketLinkTagHandler.java:94) 
    	at org.apache.wicket.markup.parser.AbstractMarkupFilter.nextComponentTag(AbstractMarkupFilter.java:82) 
    	at org.apache.wicket.markup.parser.filter.WicketNamespaceHandler.nextTag(WicketNamespaceHandler.java:73) 
    	at org.apache.wicket.markup.parser.AbstractMarkupFilter.nextComponentTag(AbstractMarkupFilter.java:82) 
    	at org.apache.wicket.markup.parser.filter.WicketMessageTagHandler.nextTag(WicketMessageTagHandler.java:81) 
    	at org.apache.wicket.markup.parser.filter.HeadForceTagIdHandler.nextTag(HeadForceTagIdHandler.java:79) 
    	at org.apache.wicket.markup.parser.AbstractMarkupFilter.nextComponentTag(AbstractMarkupFilter.java:82) 
    	at org.apache.wicket.markup.parser.filter.OpenCloseTagExpander.nextTag(OpenCloseTagExpander.java:58) 
    	at org.apache.wicket.markup.parser.AbstractMarkupFilter.nextComponentTag(AbstractMarkupFilter.java:82) 
    	at org.apache.wicket.markup.parser.filter.EnclosureHandler.nextTag(EnclosureHandler.java:76) 
    	at org.apache.wicket.markup.parser.filter.RelativePathPrefixHandler.nextTag(RelativePathPrefixHandler.java:116) 
    	at org.apache.wicket.markup.MarkupParser.getNextTag(MarkupParser.java:301) 
    	at org.apache.wicket.markup.MarkupParser.parseMarkup(MarkupParser.java:321) 
    	... 46 more

Any guidance would be appreciated.

if you have errors like that then it is almost always because of own pieces of html i see for example here this:

Caution: This process will update one or more Fabric Condition Records, Undo is by selecting the

same records and overwriting with new values.

first of all, make everything lowercase (all the tags and attributes)
then make sure that everything is correctly ended, for example i see here a missing

jcompagner:
if you have errors like that then it is almost always because of own pieces of html i see for example here this:

Caution: This process will update one or more Fabric Condition Records, Undo is by selecting the

same records and overwriting with new values.

first of all, make everything lowercase (all the tags and attributes)
then make sure that everything is correctly ended, for example i see here a missing

Thanks Johan I will investigate that.

Ian