Précédent   Forum du club des développeurs et IT Pro > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/08/2012, 10h34   #1
LIANAZEL
Candidat au titre de Membre du Club
 
Inscription : mai 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 40
Points : 13
Points : 13
Par défaut Appel d'une méthode JAVA dans un programme RPG

Bonjour,


J'ai un problème lorsque j'appelle une méthode JAVA dans un RPG.

Je suis certain que la classe de la méthode est bien trouvée, mais pas la méthode.

Voici le message d'erreur renvoyé par le système :
" Cause . . . . . : La procédure RPG WSOFRPG02 du programme INTFDEVT/WSOFRPG02 a
reçu une erreur Java "java.lang.NoSuchMethodError: String executeRequest" en
appelant la méthode "String executeRequest" avec la signature...."

Voici le codage de mon prototype dans le RPG :
D class1 c 'com.toyota.europe.vom.order-
D flex.adapter.OrderFlex-
D HandlerISeriesAdapter'

D method1 c 'executeRequest'

D VehicleInquiry PR O ExtProc(*JAVA: class1: method1)
Class(*JAVA:'java.lang.String')
STATIC

Mon programme est appelé dans un CLLE ou toutes les variables d'environnement (" ADDENVVAR ENVVAR(PATH)...../ ADDENVVAR ENVVAR(CLASSPATH)....") sont correctement chargées avant l'appel du RPG.

Merci pour votre aide !
LIANAZEL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2012, 17h11   #2
LIANAZEL
Candidat au titre de Membre du Club
 
Inscription : mai 2008
Messages : 40
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 40
Points : 13
Points : 13
Par défaut Appel d'une méthode JAVA dans un programme RPG

> Pour info, et si cela peut aider d'autres utilisateurs , mon problème venait
du fait que j'essayer d'appeler une méthode qui devait être instanciée.

> Nous avons résolu le problème en faisant modifier la méthode dans la
classe java pour que celle ci soit STATIC.

> La déclaration du prototype dans le RPG se fait comme suit :

* { Prototype appel méthode 'ExecuteRequest' de classe "OrderFlexStaticHandler" }
D VehicleInquiry PR O ExtProc(*JAVA:
D class1 : method1)
* { => Paramètre retourné }
D Class(*JAVA:'java.lang.String')
D STATIC
* { => Paramètres transmis }
D Str01 O Class(*JAVA:'java.lang.String')
D CONST
D Str02 O Class(*JAVA:'java.lang.String')
D CONST
D Str03 O Class(*JAVA:'java.lang.String')
D CONST


Et l'appel de la classe / méthode comme ceci :

202.02 * { Appel de la méthode 'ExecuteRequest' de la classe "OrderFlexStaticHandler" }
202.66
203.00 C eval OutputString = VehicleInquiry(InputString01
204.01 C : InputString02
205.00 C : InputString03
206.00 C : InputString04
207.00 C : InputString05
LIANAZEL est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h10.


 
 
 
 
Partenaires

Hébergement Web