Problem with Advanced Servoy JasperReports Plugin on Barcode

Hi guys,
I’ve a strange problem with Jasper Reports plugin (version Advanced, used in case of printing barcode).
I’ve downloaded “Advanced_Servoy_JasperReports_Plugin_v.3.2.0.zip” from ServoyForge, “jasperreports-3.7.1-project.zip” and “jasperreports-3.7.1.jar” from JasperForge.
Then I’ve build plugin with Ant and placed generated files and folder in to the right folder under application_server.
In Servoy I’ve wrote a simple program to print a barcode with JasperReports. In report I’ve placed a barcode provided with Barbecue and it’s all right, Servoy prints barcode ( if I try with Barcode 4J nothing appears, only an empty sheet ).
I’ve put my solutions, and related .jasper file, on server, installed plugin but it’s not the same result.
When I click button to generate report it’s show an error and in Java console appear this:

ERROR - Debug - Throwable
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: net.sourceforge.barbecue.Barcode; local class incompatible: stream classdesc serialVersionUID = -2560023728428819904, local class serialVersionUID = 4456443204933378679
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at com.servoy.plugins.jasperreports.JasperReportsServer_Stub.getJasperBytes(Unknown Source)
at com.servoy.plugins.jasperreports.JasperReportsProvider.runReport(JasperReportsProvider.java:600)
at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:370)
at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:363)
at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:357)
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:353)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:81)
at org.mozilla.javascript.gen.c5._c0(buttonStampaBarcode:30)
at org.mozilla.javascript.gen.c5.call(buttonStampaBarcode)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3135)
at org.mozilla.javascript.gen.c5.call(buttonStampaBarcode)
at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:476)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3992)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3880)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3802)
at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:3657)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:272)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:217)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:212)
at com.servoy.j2db.smart.dataui.AbstractScriptButton$2.actionPerformed(AbstractScriptButton.java:826)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Server Log page in Servoy Server don’t show any error.
In server is running Servoy 5.2.12 and Java 1.6.0_20; plugins are builded by Ant with Java 1.6.0_35.

I don’t know what’s the problem and I’m very necessitous of help! At the same time I can’t understand because noone can provide JasperPlugin Advanced ready to use (Feature request filed on Servoy Forge: Case #394: https://www.servoyforge.net/issues/394)

Thanks in advance for anyone that read and can help me!

Best regards,
Luca

Noone can help me?

Hi Luca,

Maybe this forum thread can help: https://www.servoyforge.net/boards/13/topics/423 (it does refer to Barcode4J).

Regards,
Andrei

Thanks Andrei, I’ve already read this thread, but I can’t understand what have done Luke on the last reply. Can you explain me this step?

sceresini:
Thanks Andrei, I’ve already read this thread, but I can’t understand what have done Luke on the last reply. Can you explain me this step?

The way to go is to find out what libraries are needed/referenced by the barcode4j library (or barbecue if you want to try that), have them available (and signed!) in the /plugins/servoy_jaspererports folder and reference them correctly in the plugin’s jnlp. That is mainly what Luke did in his scenario (he found out the needed libraries, copied them to the servoy_jaspererports folder, signed them, had them referenced correctly in the jnlp).

Hope this helps,
Andrei

I believe the barbecue-1.5-beta1.jar (the latest version of the barbecue barcode library) operates stand-alone.
In I-report 3.7.2 you can choose between barbecue and barcode4j.

My experiences with barbecue barcode are good up to now…

Regards,

sceresini:

I’ve downloaded “Advanced_Servoy_JasperReports_Plugin_v.3.2.0.zip” from ServoyForge, “jasperreports-3.7.1-project.zip” and “jasperreports-3.7.1.jar” from JasperForge.

Hi Luca,

Also, maybe you can try to see how this works using the 3.3 version or the latest (4.0b1) version of the plugin.

Regards,
Andrei

Andrei Costache:

sceresini:
Thanks Andrei, I’ve already read this thread, but I can’t understand what have done Luke on the last reply. Can you explain me this step?

The way to go is to find out what libraries are needed/referenced by the barcode4j library (or barbecue if you want to try that), have them available (and signed!) in the /plugins/servoy_jaspererports folder and reference them correctly in the plugin’s jnlp. That is mainly what Luke did in his scenario (he found out the needed libraries, copied them to the servoy_jaspererports folder, signed them, had them referenced correctly in the jnlp).

Hope this helps,
Andrei

Andrei, I’ve already done this. In fact in client plugins works correctly, is only in server that doesn’t work.

Andrei Costache:

sceresini:

I’ve downloaded “Advanced_Servoy_JasperReports_Plugin_v.3.2.0.zip” from ServoyForge, “jasperreports-3.7.1-project.zip” and “jasperreports-3.7.1.jar” from JasperForge.

Hi Luca,

Also, maybe you can try to see how this works using the 3.3 version or the latest (4.0b1) version of the plugin.

Regards,
Andrei

I’ve also try 3.3 version but with the same result.
otherwise i’ve not try with 4.0 because is a beta version and can be used only in development environment.

Luca, if all the above does not work, there is also a related/corresponding case open on the plugin’s site for this, therefore this will be looked into in greater detail.

Regards,
Andrei

Andrei Costache:
Luca, if all the above does not work, there is also a related/corresponding case open on the plugin’s site for this, therefore this will be looked into in greater detail.

Regards,
Andrei

Hi Andrei, no news about your working? Case #394 is still in working, you have find something?

Thanks for all!

Luca

Current progress is that barcode4j does not seem to work from current tests and barbecue has issues rendering text font; but this is still work in progress.

Regards,
Andrei

We are having the same problem with the serialVersionUID difference.
Any updates on this?