I am running SmartClient Version: SmartClient_v82p_2012-04-11 (v8.2p_2012-04-11/EVAL Deployment 2012-04-11) on Mozilla Firefox 3.6.18 with Firebug using Windows XP Pro 32 bit.
I have had great success building my prototype app with a robust client-side application. I have brought it to the point where I need to interact with the server-side reporting using iText.
I can get the MeetingAgenda10 Java class to start using a button with the following code:
that references the following PlanetProject.app.xml:
Before it gets going the result is a NoClassDefFoundError looking for one of the iText classes.
The console log is attached. My research indicates this 'missing' class is most likely a class name collision. This is a puzzle because the class appears to be fully qualified in the console log. (Coincidentally, I have found many duplicate 'Phrase' and 'Element' classes in other jar files in WEB-INF/lib.)
The java code is attached as well. It is ugly, but it works in Eclipse and generates a PDF file. I tried to create an executable jar file with all the resources in a single package, but did not see a way to invoke the same public class main method.
I will try moving the libraries I reference to different WEB-INF/lib locations. Oddly enough, there are four of them under SmartClient:
A bit of assistance might go a long way here to help me solve this problem. I tried fully qualifying my references in the java file, but that did not help. I think I am just missing something simple that an experience java coder would know offhand.
I know the java program is not set up to receive arguments yet. And, the DMI call does not deliver them yet. But, if I can get past this class name problem I know how to inch forward.
Thanks,
Rick
I have had great success building my prototype app with a robust client-side application. I have brought it to the point where I need to interact with the server-side reporting using iText.
I can get the MeetingAgenda10 Java class to start using a button with the following code:
Code:
DMI.call({ appID: "PlanetProject", className: "com.planetproject.server.reports.MeetingAgenda10", methodName: "main", requestParams: { downloadResult: true, downloadToNewWindow:true } });
Code:
<Application> <rpcBindings> <ServerObject ID="MeetingAgenda01" className="com.planetproject.server.reports.MeetingAgenda01"> <visibleMethods> <method name="main"/> </visibleMethods> </ServerObject> <ServerObject ID="MeetingAgenda10" className="com.planetproject.server.reports.MeetingAgenda10"> <visibleMethods> <method name="main"/> </visibleMethods> </ServerObject> </rpcBindings> </Application>
The console log is attached. My research indicates this 'missing' class is most likely a class name collision. This is a puzzle because the class appears to be fully qualified in the console log. (Coincidentally, I have found many duplicate 'Phrase' and 'Element' classes in other jar files in WEB-INF/lib.)
The java code is attached as well. It is ugly, but it works in Eclipse and generates a PDF file. I tried to create an executable jar file with all the resources in a single package, but did not see a way to invoke the same public class main method.
I will try moving the libraries I reference to different WEB-INF/lib locations. Oddly enough, there are four of them under SmartClient:
Code:
SmartClient\WEB-INF SmartClient\WEB-INF\embeddedTomcat\webapps\manager\WEB-INF SmartClient\WEB-INF\embeddedTomcat\webapps\ROOT\WEB-INF SmartClient\tools\visualBuilder\workspace\webapps\server\WEB-INF
I know the java program is not set up to receive arguments yet. And, the DMI call does not deliver them yet. But, if I can get past this class name problem I know how to inch forward.
Thanks,
Rick
Comment