Volubis, le forum IBM i Index du Forum Volubis, le forum IBM i
avec les clubs Informatiques IPL et Bretagne.
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

symbole non reconnu

 
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> Web
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
thomas.barberot



Inscrit le: 12 Avr 2012
Messages: 43

MessagePosté le: Ven 07 Déc 2018, 16:17:28    Sujet du message: Répondre en citant

Bonjour.

Je suis en train de tester l'exposition de *SRVPGM en web services REST.
Ca fonctionne plutôt bien jusqu'à ce que je tente de complexifier les paramètres, en imbriquant des DS qualifiées.

Par exemple, voici l'interface d'une procédure qui plante le déploiement du web service :
Code:
dcl-proc minusculeListesImb export;
dcl-pi *n;
 prequest likeds(request) const;
 presponse likeds(response);
 pHttpStatus int(10);
 pHttpHeaders char(100) dim(10);
end-pi;

//--------------------------------------------------------------------------------------------------
// Request
//--------------------------------------------------------------------------------------------------

dcl-ds request template qualified;
 groupesIn likeds(tGroupesIn) inz(*likeds) ;
end-ds;

dcl-ds tGroupesIn template qualified inz;
 groupeIn likeds(tGroupeIn) dim(10) inz(*likeds) ;
end-ds;

dcl-ds tGroupeIn template qualified inz;
 chaineIn char(50) dim(10);
end-ds;

//--------------------------------------------------------------------------------------------------
// Response
//--------------------------------------------------------------------------------------------------

dcl-ds Response template qualified;
 groupesOut likeds(tGroupesOut) inz ;
end-ds;

dcl-ds tGroupesOut template qualified inz;
 groupeOut_length int(5) inz;
 groupeOut likeds(tGroupeOut) dim(10) inz(*likeds) ;
end-ds;

dcl-ds tGroupeOut template qualified inz;
 chaineOut_length int(5) inz;
 chaineOut char(50) dim(10);
end-ds;


La log du serveur indique ces erreurs :
Code:
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:268: erreur : Symbole introuvable
        getpresponse().setgroupesOut( new TGroupesOut());
                      ^
  Symbole :   méthode setgroupesOut(TGroupesOut)
  Emplacement : classe Response
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:275: erreur : Symbole introuvable
        getpresponse().getgroupesOut().setgroupeOut_length((Short)as400bin21.toObject(presponseOutputBuf,presponseOutputBufOffset));
                      ^
  Symbole :   méthode getgroupesOut()
  Emplacement : classe Response
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:282: erreur : Symbole introuvable
        getpresponse().getgroupesOut().util_setgroupeOut(new TGroupeOut[10], false);
                      ^
  Symbole :   méthode getgroupesOut()
  Emplacement : classe Response
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:285: erreur : Symbole introuvable
            getpresponse().getgroupesOut().getgroupeOut()[intind1] =  new TGroupeOut();
                          ^
  Symbole :   méthode getgroupesOut()
  Emplacement : classe Response
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:292: erreur : Symbole introuvable
            getpresponse().getgroupesOut().getgroupeOut()[intind1].setchaineOut_length((Short)as400bin21.toObject(presponseOutputBuf,presponseOutputBufOffset));
                          ^
  Symbole :   méthode getgroupesOut()
  Emplacement : classe Response
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:295: erreur : Symbole introuvable
            getpresponse().getgroupesOut().getgroupeOut()[intind1].util_setchaineOut(new String[10], false);
                          ^
  Symbole :   méthode getgroupesOut()
  Emplacement : classe Response
/www/WSTB/webservices/temp/helloWorld_1544194148041/helloWorld/WEB-INF/classes/iseries/wsbeans/helloworld/MinusculeListesImb.java:304: erreur : Symbole introuvable
                getpresponse().getgroupesOut().getgroupeOut()[intind1].getchaineOut()[intind2] = Util.trimRight((String)as400text1.toObject(presponseOutputBuf,presponseOutputBufOffset));
                              ^
  Symbole :   méthode getgroupesOut()
  Emplacement : classe Response
7 erreurs


Est-ce que quelqu'un à déjà fait ce genre de paramètre à base de DS imbriquées et peut m'expliquer ce que j'ai mal fait ?

Merci.


Dernière édition par thomas.barberot le Ven 07 Déc 2018, 17:09:44; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
thomas.barberot



Inscrit le: 12 Avr 2012
Messages: 43

MessagePosté le: Ven 07 Déc 2018, 17:08:58    Sujet du message: Répondre en citant

Après quelques tests, si je remplace l'option de contrôle "pgminfo(*pcml:*module:*dclcase)" par "pgminfo(*pcml:*module)" (donc plus de sensibilité à la casse), j'arrive à le déployer...
Est-ce qu'il faut faire commencer toutes les variables par des majuscules (je vais tester) ?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
nbonnet



Inscrit le: 11 Sep 2018
Messages: 31
Localisation: Lyon

MessagePosté le: Ven 07 Déc 2018, 17:17:06    Sujet du message: (sujet inconnu) Répondre en citant

Je n'ai jamais eu de soucis avec cela

Par contre je déclare les DS modèles avant le procedure interface

Le PCML parait-il ok ?


Peut être :

Code:
dcl-pi *n;
 prequest likeds(request) const;
 presponse likeds(response);
 pHttpStatus int(10);
 pHttpHeaders char(100) dim(10);
end-pi;

dcl-ds Response template qualified;
 groupesOut likeds(tGroupesOut) inz ;
end-ds;


Response et likeds(response) ==> majuscule / minuscule avec *dclcase ?

Pas besoin de faire commencer les variables par des majuscules ou minuscules, mais le respect de la casse est peut être nécessaire avec cette option car sensible dans le PCML généré
_________________
Nathanaël
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots