|
I haven't spent a whole lot of time calling java methods from RPG. Just enough so that every time I need to do this, I have to stop and think for about half an hour about how I did it the last time. Anyway...because I am ALWAYS running into CLASSPATH problems (The CLASSPATH concept is my own personal Kryptonite) I now just add the classpath to the path as the very first step in my RPG program before I do anything else. Example: * Declare object refernce variable D obj_ref S O CLASS(*JAVA:'PFProJava4') D string S O CLASS(*JAVA:'java.lang.String') D bytes S O CLASS(*JAVA:'java.lang.String') * Prototype procedure to create java String object D newString PR O EXTPROC(*JAVA: D 'java.lang.String': D *CONSTRUCTOR) D CLASS(*JAVA:'java.lang.String') D charParm 1000A CONST VARYING * Prototype a GetBytes method D toBytes PR 1000a EXTPROC(*JAVA: D 'java.lang.string': D 'toBytes') VARYING * * Prototype procedure to instantiate 'PFProJava' class D PFProJava PR O D EXTPROC(*JAVA: D 'PFProJava4': D *CONSTRUCTOR) * Prototype procedure to accept the credit card info STRING Object D PFProAut PR 1000a D EXTPROC(*JAVA: D 'PFProJava4': D 'autCard') D stringParm LIKE(string) D Apost S 1a Inz('''') D CmdString S 1000a D Cmds PR ExtPgm('QCMDEXC') D command 1000A const D length 15P 5 const /Free CmdString = 'ADDENVVAR ENVVAR(CLASSPATH) VALUE(' + Apost + '/QIBM/ProdData/Java400/jsse1.0.3_02/lib/jcert.jar:' + '/QIBM/ProdData/Java400/jsse1.0.3_02/lib/jnet.jar:' + '/QIBM/ProdData/Java400/jsse1.0.3_02/lib/jsse.jar:' + '/QIBM/ProdData/Java400/verisign/payflowpro/java/Verisign.jar:' + '/QIBM/ProdData/Java400/verisign/payflowpro/java/' + Apost + ') REPLACE(*YES)'; Callp Cmds(CmdString:1000); // Convert alphanumeric string to java String object string = newString(Input_String); // Instantiate the 'PFProJava' class obj_ref = PFProJava(); // Call the 'main' method in class 'PFProJava' Response = PFProAut(obj_ref:string); HTH -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement Sent: Monday, June 20, 2005 12:51 PM To: RPG programming on the AS400 / iSeries Subject: Re: Call Java Method from RPG Hi Mark, > This almost always speaks to a classpath issue. Where is the class > demo.MainCall located in the file system? That was my first instinct as well, but I can't see how the 'main' method would work if it were a classpath issue.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.