I have upgraded to 4.1.1 and Find() does not work in Web Client but it is working properly in Smart Client. Any suggestions?
Check if you have unsaved data when you call the find, in that case the controller.find() will return false.
Find() is still not working. I did a rollback on the form and that did not work then I tried a savedata and that did not work. I then created a simple form based on a single table in a sql server 2005 database. Executed the find in smart client and the find will return the matching data. In Web Client the find still will not work. A bug perhaps?
But did it return false or true? If it return false check what’s going wrong (unsaved data, db constraints, etc).
Ran the form in debug and controller.find() returns true in both web and smart client.
This behavior is for any form (table) ? Do you have any errors in the logs ?
Find() will not work on any of the forms in WebClient. No errors in the log.
Can you add a case about this in our system ?
http://crm.servoy.com/servoy-webclient/ … oy_support
Also please attach a sample.
I submitted a support case.
Thanks for the help.
Servoy 4.1.1,
Win XP,
Java 1.6,
Firefox browser
From developer I start my solution in a web client. The first thing it does is open a form and do a controller.find()/search() which isn’t working right. The find() returns TRUE. The search() returns 200 even though I’m giving criteria for just one record. The error log is below.
Some additional info:
Works fine in Smart Client. I have tried turning off my firewall - no difference. Also tried it on Mac OSX with Safari -same result.
Anyone know what’s going on?
Thanks.
2009-04-08 17:56:04,875 ERROR [TaskExecuter[0]] com.servoy.j2db.util.Debug - Throwable
java.lang.NullPointerException
at org.apache.wicket.Session.getClientInfo(Session.java:555)
at com.servoy.j2db.server.headlessclient.WebClient.getTimeZone(WebClient.java:48)
at com.servoy.j2db.dataprocessing.SQLGenerator.Za(SQLGenerator.java:605)
at com.servoy.j2db.dataprocessing.SQLGenerator.Za(SQLGenerator.java:549)
at com.servoy.j2db.dataprocessing.FoundSet.performFind(FoundSet.java:435)
at com.servoy.j2db.FormController.performFindImpl(FormController.java:420)
at com.servoy.j2db.FormController$JSForm.js_search(FormController.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:179)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:347)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3666)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2680)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:166)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3125)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:165)
at com.servoy.j2db.scripting.RemoteDebugScriptEngine.executeFunction(RemoteDebugScriptEngine.java:116)
at com.servoy.j2db.server.ApplicationServer$DebugClientHandler$1.run(ApplicationServer.java:14)
at com.servoy.j2db.server.headlessclient.SessionClient.invokeLater(SessionClient.java:263)
at com.servoy.j2db.server.ApplicationServer$DebugClientHandler$2.run(ApplicationServer.java:1)
at com.servoy.j2db.util.TaskExecuter.run(TaskExecuter.java:11)
at java.lang.Thread.run(Unknown Source)
Adrian,
that error you are given is only because you do “Debug Method” in servoy developer on a method that is then executed in the webclient.
This works fine for many things you do but not all. Because some things you do expect that it a web browsers request is happening which is of course, if you just say debug method in the developer, not really the case.
So to test these methods you just have to use a test button on a form and press it in the browser.
We cant really do much about this. For example if we would just postpone the method until a request happened then we would have many other complaints about “Debug Method” not working…