I am having some whacky behavior with this bean and need some ideas on how to troubleshoot.
I have the trial version of Ibiz Quickbooks Integrator bean (www.nsoftware.com). I downloaded what they called their desktop version, versus the server version.
-I dropped the ibizqb.jar file into the beans directory for servoy.
-I have Quickbooks Pro 2008 running on a PC on my little network.
-installed the QB SDK 7.0 from developer.intuit.com.
-installed the Remote Connector from Ibiz for quickbooks.
-created a new blank solution in servoy (3.5.5 Developer)
-created a new form (beantest) with a new table put into example_data.
-created a couple of global vars to play with on the form for debugging.
-dropped a bean on the form (customers) that comes from Ibiz.
-set the QBConnectionString appropriately (URL=http://server1:2080)
-created a button on the form to call a simple method (testMethod).
-in the method, I put the following code:
elements.bean_318.QBConnectionString=URL=http://server1:2080
elements.bean_318.openQBConnection
elements.bean_318.getByName(“Elite Ops”) // a company in QB
globals.gTest1 = elements.bean_318.customerName
Yesterday, I had the connection working to QB, noted by the logs on Remote Connector showing an incoming connection and subsequent disconnect. I had some other issues, but I was connecting reliably last night.
Today I came back to work on it and found some really strange things.
-I can no longer connect to Remote Connector. Servoy goes right through my method and doesn’t blip on the openQBConnection function.
-Remote Connector doesn’t show that anything is connecting. Servoy doesn’t seem to be making the connection.
-Once I try to perform a lookup or an Add on QB, Ibiz throws an error.
-I can telnet from the servoy machine on port 2080 to the QB machine and Remote Connector shows the connection, so I know the ports are open between the two machines (I have no firewall running on either currently).
-DNS is working fine between the two.
-I have uninstalled Remote Connector and QB SDK several times.
I have manipulated the code multiple ways, tried closing the connection before opening, tried 2 different machines running servoy and still get the same thing. I just can’t make the connection today and I have no idea why.
I also cleared my java cache and I check servoy logs and found nothing there.
I know this is obscure because there’s probably no one else using this bean from Ibiz, but I’m dead in the water. I’ve spent 2 full days trying to figure it out and have digressed instead of moving forward.
Any ideas? Thanks.
If you are running this bean in the rich client, do enable the webstart console, see if anything is in there.
Ok, I ran the webstart console and here is what I got. See below. It looks like it’s throwing the error after it should have opened the connection to QB, the connection didn’t open, so now everything says “unknown source”.
Any thoughts based on below? Thank you!
May 2, 2008 6:38:19 AM com.servoy.j2db.util.Debug error
SEVERE: Throwable
org.mozilla.javascript.JavaScriptException: ibizqb.IBizQBException:
at org.mozilla.javascript.JavaScriptException.wrapException(JavaScriptException.java:71)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:368)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1254)
at org.mozilla.javascript.gen.c1.call(testMethod:6)
at com.servoy.j2db.scripting.f.executeFunction(Unknown Source)
ibizqb.IBizQBException:
at ibizqb.Invoice.get(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:334)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1254)
at org.mozilla.javascript.gen.c1.call(testMethod:6)
at com.servoy.j2db.scripting.f.executeFunction(Unknown Source)
popdizzle:
org.mozilla.javascript.JavaScriptException: ibizqb.IBizQBException:
at ibizqb.Invoice.get(Unknown Source)
You should ask iBiz guys why you get this exception it seems not to have details, the exception is not inside Servoy but in the bean. (maybe the bean trail expired, since it complains about Invoice)
Here is a little more detail after turning up trace to level 5:
basic: Loading class org.mozilla.javascript.TokenStream
basic: getResource: org/mozilla/javascript/TokenStream.class (check: false)
basic: Loading class org.mozilla.javascript.LineBuffer
basic: getResource: org/mozilla/javascript/LineBuffer.class (check: false)
basic: Loading class org.mozilla.javascript.Parser
basic: getResource: org/mozilla/javascript/Parser.class (check: false)
basic: Loading class org.mozilla.javascript.optimizer.OptFunctionNode
basic: getResource: org/mozilla/javascript/optimizer/OptFunctionNode.class (check: false)
basic: Loading class org.mozilla.javascript.LocalVariable
basic: getResource: org/mozilla/javascript/LocalVariable.class (check: false)
basic: Loading class org.mozilla.javascript.optimizer.OptLocalVariable
basic: getResource: org/mozilla/javascript/optimizer/OptLocalVariable.class (check: false)
basic: Loading class org.mozilla.javascript.UintMap
basic: getResource: org/mozilla/javascript/UintMap.class (check: false)
basic: Loading class org.mozilla.javascript.optimizer.OptTransformer
basic: getResource: org/mozilla/javascript/optimizer/OptTransformer.class (check: false)
basic: Loading class org.mozilla.javascript.NodeTransformer
basic: getResource: org/mozilla/javascript/NodeTransformer.class (check: false)
basic: Loading class org.mozilla.javascript.PreorderNodeIterator
basic: getResource: org/mozilla/javascript/PreorderNodeIterator.class (check: false)
basic: Loading class org.mozilla.javascript.optimizer.TypeEvent
basic: getResource: org/mozilla/javascript/optimizer/TypeEvent.class (check: false)
basic: Loading class org.mozilla.javascript.optimizer.Optimizer
basic: getResource: org/mozilla/javascript/optimizer/Optimizer.class (check: false)
basic: Loading class org.mozilla.javascript.Label
basic: getResource: org/mozilla/javascript/Label.class (check: false)
basic: Loading class org.mozilla.classfile.ClassFileField
basic: getResource: org/mozilla/classfile/ClassFileField.class (check: false)
basic: Loading class com.servoy.j2db.scripting.e
basic: getResource: com/servoy/j2db/scripting/e.class (check: false)
basic: Loading class com.servoy.j2db.dataui.ScriptButtonBeanInfo
basic: getResource: com/servoy/j2db/dataui/ScriptButtonBeanInfo.class (check: false)
basic: Loading class com.servoy.j2db.dataui.ScriptButtonBeanInfo
basic: getResource: com/servoy/j2db/dataui/ScriptButtonBeanInfo.class (check: false)
basic: Loading class com.servoy.j2db.dataui.AbstractScriptButtonBeanInfo
basic: getResource: com/servoy/j2db/dataui/AbstractScriptButtonBeanInfo.class (check: false)
basic: Loading class com.servoy.j2db.dataui.AbstractScriptButtonBeanInfo
basic: getResource: com/servoy/j2db/dataui/AbstractScriptButtonBeanInfo.class (check: false)
basic: Loading class javax.swing.JButtonBeanInfo
basic: getResource: javax/swing/JButtonBeanInfo.class (check: false)
basic: Loading class javax.swing.AbstractButtonBeanInfo
basic: getResource: javax/swing/AbstractButtonBeanInfo.class (check: false)
basic: Loading class javax.swing.JComponentBeanInfo
basic: getResource: javax/swing/JComponentBeanInfo.class (check: false)
basic: Loading class java.awt.ContainerBeanInfo
basic: getResource: java/awt/ContainerBeanInfo.class (check: false)
basic: Loading class java.awt.ComponentBeanInfo
basic: getResource: java/awt/ComponentBeanInfo.class (check: false)
basic: Loading class org.mozilla.javascript.FieldAndMethods
basic: getResource: org/mozilla/javascript/FieldAndMethods.class (check: false)
basic: Loading class org.mozilla.javascript.DToA
basic: getResource: org/mozilla/javascript/DToA.class (check: false)
basic: Loading class XcoreXibizqbX42X2987.ag
basic: getResource: XcoreXibizqbX42X2987/ag.class (check: false)
basic: Loading class ibizqb.IBizQBExceptionBeanInfo
basic: getResource: ibizqb/IBizQBExceptionBeanInfo.class (check: false)
basic: Loading class ibizqb.IBizQBExceptionBeanInfo
basic: getResource: ibizqb/IBizQBExceptionBeanInfo.class (check: false)
Ok, so something weird is going on…
I opened a different instance of Servoy Developer on my same machine and ran my little connection test and it immediately worked. The QB logging immediately showed the connection happening.
Wondering if I should reinstall my original Servoy Developer instance. Something is mucked up.
I wiped out Servoy, reinstalled clean, and it works again.
I don’t know what broke or why, so I’ll post back if I see any more problems.
After two very frustrating days, fighting a ghost, I was pretty peeved. Now, after getting it working, I’m back to “Wow! How cool is this that I can drop a bean on my form and I’m talking to Quickbooks with literally 3 lines of code!!!”
Thanks for the help Jan. I learned something very valuable out of this…how to use the Web Start Console.
Hopefully I’m back to productivity again…