Heh. One of the few things I can guarentee about this is that there's only ONE instance of this class that exists.
And you presume...wrong. How does one invoke an RPG program statically? I didn't even know you could do that....
-----Original Message-----
From: Gary L Peskin <garyp@xxxxxxxxxxxx>
To: 'Java Programming on and around the IBM i' <java400-l@xxxxxxxxxxxx>
Sent: Tue, Mar 8, 2011 3:07 pm
Subject: RE: Signature mismatch when calling java prototype
And I'm presuming that GWBA09D5 includes the STATIC keyword for this
nvocation of the program. Is that correct? Also, do you have other copies
f the class laying around in the CLASSPATH? Perhaps the RPG program is
inding a different version of ResendOrder than the one that you're running
avap on?
ary
-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-
bounces@xxxxxxxxxxxx] On Behalf Of mikemonger@xxxxxxx
Sent: Tuesday, March 08, 2011 11:49 AM
To: java400-l@xxxxxxxxxxxx
Subject: Re: Signature mismatch when calling java prototype
I'm not getting a stack trace, since the method is never getting
invoked.
Here's the error I'm receiving:
Message ID . . . . . . : RNX0301
Date sent . . . . . . : 03/08/11 Time sent . . . . . . :
14:19:22
Message . . . . : Java exception received when calling Java method.
Cause . . . . . : RPG procedure GWBA09D5 in program MXMLIB/GWBA09D5
received
Java exception "java.lang.NoSuchMethodError: resendOrder" when calling
method "resendOrder" with signature
"(Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;" in class
"com.WMS_BPCS_Integrator.executable.ResendOrder".
Which, based on all the documentation I've been reading, means the
signatures don't match. But here's the result from the javap command:
Compiled from "ResendOrder.java"
public class com.WMS_BPCS_Integrator.executable.ResendOrder extends
java.lang.Object{
public com.WMS_BPCS_Integrator.executable.ResendOrder();
Signature: ()V
public static java.lang.String resendOrder(java.lang.String,
java.lang.String
);
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
}
Press ENTER to end terminal session.
As far as I can tell, the signatures match. I haven't misspelled the
method name. And the class is being found (I tested that by changing
the class name in the procedure and got a class not found error). Maybe
there's something odd about the configuration on this iSeries or
something. I don't know. But regardless of how I configure this, I get
the same error over and over and over again.
As an Amazon Associate we earn from qualifying purchases.