IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Appel COBOL à partir de JAVA


Sujet :

API standards et tierces Java

  1. #1
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut Appel COBOL à partir de JAVA
    Bonjour,
    je cherche à appeler un programme COBOL sous AS400 à partir d'un programme JAVA?
    est ce que quelqu'un a une idée la dessus?
    Merci d'avance
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Par défaut
    tout d'abord... bonne chance

    sinon, il existe un pack web services pour as400
    voir http://www-128.ibm.com/developerwork...rary/ws-as400/
    pas trop d'autre solution a mon avis.

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    merci beaucoup, je vais foncer dans ce sens même si ça fait longtemps que je n'ai pas mis la main sur les web services mais bon ... vu que ça répond à ma question donc....
    merci encore une fois
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 68
    Par défaut
    C'est possible sans web service :

    http://www-03.ibm.com/servers/eserver/iseries/toolbox/

    Si jamais, je dois pouvoir retrouver un exemple.

  5. #5
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    un exemple serait le bien venu de ta part. car je perd les pedalles à trouver un exemple avec une architecture plus simple....
    Merci
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 68
    Par défaut
    Fais une recherche dans cette doc, dans le Programmer's guide :

    Programmation --> Java --> IbmToolbox for Java --> Ibm Toolbox for Java classes --> Access classes --> Access Package - ProgramCall Classe

    (ouf, vive les docs Ibm )

    Il y a 1 ou 2 exemples déjà là.
    Je te poste mon exemple dans la journée

    PS : J'ai supposé que ton programme COBOL avait été compilé bien sûr hein ..

  7. #7
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    oui oui bien sûr mon programme COBOL est bien compilé et marche parfaitement, me manque juste son exécution
    je vais chercher et je te tiens au courant
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 68
    Par défaut
    Hop là, j'ai retrouvé, un peu épuré aussi, histoire d'aller à l'essentiel. C'est sans doute tout moche, mais ça date déjà ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    import com.ibm.as400.access.*;
     
    public class ExecutionAS400 {
     
    	public ExecutionAS400(String paramrfuc, String paramdate) {
    		AS400 sys = new AS400("160.1.1.1");
     
    		// déclarations des convertisseurs de données
    		// AS400Text : longueur des données, CCSID (=297 pour systeme), AS400 Object
     
    		AS400Text text1024Converter = new AS400Text(1024, 297, sys);
    		AS400Text text2Converter = new AS400Text(2, 297, sys);
    		AS400Text text7Converter = new AS400Text(7, 297, sys);
     
    		ProgramCall pgm = new ProgramCall(sys);
     
    		// ********* Préparation de la liste de paramètres *********
    		ProgramParameter[] parmList = new ProgramParameter[3];
    		byte[] rfuc = text2Converter.toBytes(paramrfuc);
    		byte[] date = text7Converter.toBytes(paramdate);
    		byte[] message = text1024Converter.toBytes(new String(""));
     
    		parmList[0] = new ProgramParameter(rfuc);
    		parmList[1] = new ProgramParameter(date);
    		parmList[2] = new ProgramParameter(1024);
     
    		// ********* Execution du programme sur le système *********
    		try {
    			// paramètres toPath : Bibliothèque, Programme, Type d'objet	
    			pgm.setProgram(QSYSObjectPathName.toPath("CNFOBJ", "GCXGH17", "PGM"), parmList);
     
    			// Et hop, on lance le tout et on regarde c'qu'il se passe ..
    			if (pgm.run() != true) {
    				// En cas d'erreur d'exécution sur l'AS400 ..
    				AS400Message[] messageList = pgm.getMessageList();
    				System.out.println("Probleme de lancement du pgm sur as400");
    				for (int i = 0; i < messageList.length; i++) {
    					System.out.println(messageList[i].getText());
    				}
    			}
    			else {
    				// on récupère le paramètre qui était en OutPut ..
    				byte[] data2 = parmList[2].getOutputData();
     
    				// Avant de l'utiliser, faut pas oublier de convertir ..
    				String travail = new String((text1024Converter.toObject(data2)).toString());
    			}
    		}
    		catch (Exception e) {
    			System.out.println(e.toString());     
    		}
     
    		// On a terminé, on fout la paix au service ..        
    		sys.disconnectService(AS400.COMMAND);
     
    	}
     
    }
    Par contre, il faut aussi que quelque chose soit installé sur l'AS400. Mais là, c'est plus trop trop mon rayon. D'après ce que je lis dans la doc, c'est installé de base sur la plupart des serveur .. A voir ce que ca donne chez toi.

  9. #9
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Voilà j'ai utiliser ta classe pour lancer mon programme mais ça me ressort une exception de type : java.lang.NullPointerException

    mais je ne sais pas quoi faire!!
    peut être come tu l'as dis il faut installer quelque chose au niveau de l'AS400. si tu as une piste je serai très très reconnaissant
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 68
    Par défaut
    Dans le lien que je t'ai filé, il y a le lien vers le Programmer's guide, et dedans, il y a tout normalement, en cherchant sur Ibm Toolbox for Java (Install sur l'AS, liens pour telecharger le .jar ...). Il y a le détail des classes. Ils expliquent aussi comment vérifier que le package est installé sur le serveur. Par contre, c'est en anglais pour la plupart de la doc.

    Petite précision : j'ai utilisé le jt400.jar pour ça, j'ai jamais essayé le jtopen.

    Sinon, à quelle ligne se situe le NullPointerException ?

    Il manque peut-être aussi des import au début de l'exemple, j'ai fait le ménage à la barbare .. J'ai pas recompilé non plus, mais normalement, je n'ai enlevé que des trucs un peu spécifiques à l'application, ça ne devrait pas gêner pour l'exemple.

  11. #11
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    moi aussi j'ai utilisé le jt400.jar. la classe se compile bien. l'exception est générée au moment de l'appel de la fonction RUN.
    je vais essayer de suivre tes liens pour comprendre s'il me manque quelque chose au niveau de l'AS400....
    m'ci
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


Discussions similaires

  1. Appeler XML à partir de Java
    Par rawasi dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 15/10/2010, 20h59
  2. Appel d'un service cobol à partir d'un programme java
    Par thaundeadboss dans le forum Général Java
    Réponses: 0
    Dernier message: 26/09/2010, 18h35
  3. Appel d'une fonction .NET a partir de JAVA
    Par cdekapto dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2008, 11h36
  4. Réponses: 1
    Dernier message: 25/01/2008, 09h46
  5. Unité Delphi appelée à partir de JAVA
    Par babaahmed dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 26/04/2003, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo