Web client questions from a beginners

Hi,

Introduction: the solution has one main form with 1 text field, 1 button, 3 tabs. Each tab has one form in it.
The behaviour is: user types in the string to be searched, clicks on the button and then in tab 1 the info is displayed in a table view form. The user can choose to click on another button for each line displayed in tab1 and display more info in tab 2 and 3.

  1. The solution works in smart client
  2. When using the web client sometimes instead of seing the info in tab 2 and 3 I get an internal error page. “Return to home page” takes me to the main page and when I click on the solution I get the same “Internal error” page and I cannot access the solution anymore.

Most likely this is a timeout error. Can you please tell me how I can increase the timeout time in the webclient?

Here is the information from the log

2008-04-28 11:15 http-8080-2 ERROR com.servoy.j2db.util.Debug Error rendering the page search

2008-04-28 11:15 http-8080-2 ERROR org.apache.wicket.RequestCycle Exception in rendering component: [MarkupContainer [Component id = 0, page = com.servoy.j2db.server.headlessclient.MainPage, path = 0:servoy_page:servoy_dataform:forms:0:webform:servoywebform:View:sv_09185e96_0ade_4a3b_ba75_dfe86d65d685:sv_e62e7582_e085_41a5_a0cf_ff6d41614b47:webform:servoywebform:View:rows:0.ListItem, isVisible = true, isVersioned = true]]

2008-04-28 11:15 http-8080-2 ERROR com.servoy.j2db.util.Debug Throwable
2008-04-28 11:15 http-8080-2 ERROR com.servoy.j2db.util.Debug select top 201 rowid from vw_legs_info_per_row order by rowid asc
java.sql.SQLException: I/O Error: Connection reset

Raluca

Hi, me again,

I forgot to mention about environment and the things that I have tried:

Servoy version: 3.5.5- build 518
Operating system: Win 2003 Server
DB: SQL Server 2005
Java: currently 1.5.14 JRE (I also had 1.6.5 JRE but uninstalled because I saw on one of the topics saying that 1.5 is more stable than 1.6)

I have tried to disable/enable Ajax and this caused the first tab not to work.

Raluca

Hi Raluca,

It looks like your database server resets the database connection for some reason.
Do you see anything in the database log?

Hi Robert,

thanks for your reply. That connection error was an exception (the database server was too busy). Sorry for misleading you.
I ran the app again and here are the 2 errors (no database reset):

2008-04-28 12:14:29,234 ERROR [http-8080-8] org.apache.wicket.RequestCycle - Exception in rendering component: [MarkupContainer [Component id = 0, page = com.servoy.j2db.server.headlessclient.MainPage, path = 0:servoy_page:servoy_dataform:forms:0:webform:servoywebform:View:sv_09185e96_0ade_4a3b_ba75_dfe86d65d685:sv_e62e7582_e085_41a5_a0cf_ff6d41614b47:webform:servoywebform:View:rows:0.ListItem, isVisible = true, isVersioned = true]]
org.apache.wicket.WicketRuntimeException: Exception in rendering component: [MarkupContainer [Component id = 0, page = com.servoy.j2db.server.headlessclient.MainPage, path = 0:servoy_page:servoy_dataform:forms:0:webform:servoywebform:View:sv_09185e96_0ade_4a3b_ba75_dfe86d65d685:sv_e62e7582_e085_41a5_a0cf_ff6d41614b47:webform:servoywebform:View:rows:0.ListItem, isVisible = true, isVersioned = true]]
at org.apache.wicket.Component.renderComponent(Component.java:2509)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.markup.html.list.ListView.renderItem(ListView.java:631)
at org.apache.wicket.markup.html.list.ListView.renderChild(ListView.java:619)
at org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:100)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at com.servoy.j2db.server.headlessclient.dataui.af.onRender(Unknown Source)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.onRender(Unknown Source)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.Component.renderComponent(Component.java:2411)
at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:703)
at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:605)
at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:520)
at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1172)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1241)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
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:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Illegal pattern character ‘Y’
at java.text.SimpleDateFormat.compile(Unknown Source)
at java.text.SimpleDateFormat.initialize(Unknown Source)
at java.text.SimpleDateFormat.(Unknown Source)
at java.text.SimpleDateFormat.(Unknown Source)
at com.servoy.j2db.util.a4.(Unknown Source)
at com.servoy.j2db.server.headlessclient.dataui.p.getConverter(Unknown Source)
at org.apache.wicket.Component.getModelObjectAsString(Component.java:1595)
at org.apache.wicket.Component.getModelObjectAsString(Component.java:1573)
at org.apache.wicket.markup.html.form.FormComponent.getModelValue(FormComponent.java:1231)
at org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:744)
at org.apache.wicket.markup.html.form.TextField.onComponentTag(TextField.java:100)
at org.apache.wicket.Component.renderComponent(Component.java:2442)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at com.servoy.j2db.server.headlessclient.dataui.p.onRender(Unknown Source)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
… 59 more

2008-04-28 12:14:29,234 ERROR [http-8080-8] com.servoy.j2db.util.Debug - Error rendering the page search
org.apache.wicket.WicketRuntimeException: Exception in rendering component: [MarkupContainer [Component id = 0, page = com.servoy.j2db.server.headlessclient.MainPage, path = 0:servoy_page:servoy_dataform:forms:0:webform:servoywebform:View:sv_09185e96_0ade_4a3b_ba75_dfe86d65d685:sv_e62e7582_e085_41a5_a0cf_ff6d41614b47:webform:servoywebform:View:rows:0.ListItem, isVisible = true, isVersioned = true]]
at org.apache.wicket.Component.renderComponent(Component.java:2509)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.markup.html.list.ListView.renderItem(ListView.java:631)
at org.apache.wicket.markup.html.list.ListView.renderChild(ListView.java:619)
at org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:100)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at com.servoy.j2db.server.headlessclient.dataui.af.onRender(Unknown Source)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at com.servoy.j2db.server.headlessclient.dataui.WebTabPanel.onRender(Unknown Source)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.Component.renderComponent(Component.java:2411)
at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:703)
at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:605)
at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:520)
at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1172)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1241)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
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:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: Illegal pattern character ‘Y’
at java.text.SimpleDateFormat.compile(Unknown Source)
at java.text.SimpleDateFormat.initialize(Unknown Source)
at java.text.SimpleDateFormat.(Unknown Source)
at java.text.SimpleDateFormat.(Unknown Source)
at com.servoy.j2db.util.a4.(Unknown Source)
at com.servoy.j2db.server.headlessclient.dataui.p.getConverter(Unknown Source)
at org.apache.wicket.Component.getModelObjectAsString(Component.java:1595)
at org.apache.wicket.Component.getModelObjectAsString(Component.java:1573)
at org.apache.wicket.markup.html.form.FormComponent.getModelValue(FormComponent.java:1231)
at org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:744)
at org.apache.wicket.markup.html.form.TextField.onComponentTag(TextField.java:100)
at org.apache.wicket.Component.renderComponent(Component.java:2442)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at com.servoy.j2db.server.headlessclient.dataui.p.onRender(Unknown Source)
at org.apache.wicket.Component.render(Component.java:2308)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2471)
… 59 more

Any ideas?
Raluca

A quick scan of the trace shows this:

Caused by: java.lang.IllegalArgumentException: Illegal pattern character ‘Y’
at java.text.SimpleDateFormat.compile(Unknown Source)
at java.text.SimpleDateFormat.initialize(Unknown Source)
at java.text.SimpleDateFormat.(Unknown Source)
at java.text.SimpleDateFormat.(Unknown Source)

You use some datefields on that form ? Can you check if the formatting property has correct values?
Maybe not an issue for the Rich client but for webclient this could perhaps be an issue.

Hope this helps.

Hi Robert,

forms in tab 2 and 3 each contain among other fields 1 date field (text_field).
I have set their formatting as follows.

  • datetime field in tab2’s form has the format dd-MM-yyyy HH:mm:ss and
  • date field in tab3’s form has the format dd-MM-yyyy.

In the web client I still get the Internal error. I am attaching txt with the log.
Solution still works in smart client.

Many thanks for your help,
Raluca

2008-04-28_15-36_log.txt (14.2 KB)

miral135:
…among other fields 1 date field (text_field)…

You may have stated the problem yourself. My experience has been that smartclient will allow date fields to be of type “TEXT”, but webclient likes them to be 'DATETIME".

Dean Westover
Choicees Software, Inc.

Submitted twice by mistake.

Hi,

Thanks. I think it partially worked.
I still get the internal error, but now in the log there is only 1 error instead of 2. I am attaching the log entry.

Raluca

2008-04-28_21-22_log.txt (14.2 KB)

I just thought to give you a boost.
The method that is associated to the button in tab 1 contains only this code

forms.search.elements.tab_legs.visible = true; (tab type)
forms.search.elements.lbl_legs.visible = true; (label type)

So when clicking on the button instead of the page displaying the tab I get the “Internal error” page.

Maybe this narrows down the behaviour.
Raluca

Are those the exact formats you are using? No uppercase ‘Y’ in them?

The formats are placed here with copy/paste directly from Servoy Developer. I didn’t alter anything.
Should I try to alternate with other formats?

Thanks,
Raluca

I generated the error you have by using a text field (not calendar field) in web client with a format that contains ‘Y’. With the formats you pasted in your previous post it works.
Please have another look at the forms that are involved. Maybe there is some other (text) field somewhere (on any of the forms) that has a format set - with ‘Y’ inside it…

If you still cannot find such a field, then try changing the formats for the fields to something else/removing the formatted fields alltogether to isolate the problem.

Hi Andrei,

thank you for your reply. I have tried to remove all the formats (only the dates object had formats) in both forms corresponding to the 2 tabs and now I get completly different types of errors. Something related to the html rendering.
I am attaching the log.
I have tried to put back the formatting, but I still get these errors.
Maybe this is related to the caching? I tried CTRL+F5 but it does’t work.
I have tried to flush the solution but I still get the same errors in the log.

I’ll keep trying to change until I get something right.
Raluca

2008-05-02_16-04_log.txt (11.4 KB)

When do you get these new errors? When starting the client or still afterwards, when you try to show a certain tab?

Can you reproduce this error in a simple case? Like simply showing that form - without tabpanels?

Hi Andrei,

I get these errors when I type in the URL
http://localhost:8080/servoy-webclient/ … tion/test4

Right away I am getting the internal error page and the log says the above mentioned.

Raluca

I am not sure why the last errors appears. The ones you had before - I can only think of invalid formats. So please add a case to our support system with your exported solution attached - and we will see what the problem is.

I’ve been getting the same error:

java.lang.IllegalArgumentException: Illegal pattern character ‘Y’

in my logs, and recently it showed up in developer as a popup message. You won’t believe what it turned out to be:

I had a date field (with mask for MM/dd/yyyy) put on a form as “text area” instead of “text field”. Changing that stopped the error immediately. I changed it back to text area and got that error again.

Hope that helps!

Hi,

I just wanted to let you know that I have upgraded Servoy 3.5.5 to 3.5.6 and everything worked perfectly. Meaning when I launch it in Weclient the solution now works. I didn’t have to change anything.
I installed on 2 computers and tested this with 2 solution that were generating the same error.

Thank you for your advices. You helped me discover more about Servoy.
Raluca