Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre éclairé

    Inscrit en
    janvier 2007
    Messages
    413
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 413
    Points : 363
    Points
    363

    Par défaut [V6R1] Génération et importation de WSDL sur IBM AS/400 possible?

    Bonjour,

    Je souhaite interfacer des traitements IBM AS/400 avec l'extérieur.
    J'aimerais que certains d'entre-eux emploient des web-services proposés par des systèmes distants,
    et j'aimerais que certains traitements AS/400 se présentent eux-mêmes comme des web-services.

    Ordinairement, sur les OS où je suis passé, tout tourne autour des WSDL.
    Et tout commence, pour faire simple, par une génération ou une importation de WSDL selon le sens de l'invocation de web-service que l'on veut faire.

    Mais je n'ai pas trouvé immédiatement de commandes autour des WSDL sur l'IBM AS/400 sur lequel je travaille.

    Un go cmdWSDL ne me donne rien.
    Or, je pense que ces commandes d'importation et de génération de WSDL et de stubs doivent bien exister quelque-part.

    Comment puis-je y accéder?

    En vous remerciant,

    Grunt.

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 314
    Points : 353
    Points
    353

    Par défaut

    Bonjour,
    Pour ce qui est des services web, il y a tout ce qu'il faut, mais çà ne se fait pas en claquant des doigts.
    La meilleure méthode consiste déjà à passer par l'outil Rational, voir les dernières version de WDS.
    Et tu trouveras ici les infos (le début et la plus grande partie de la page) pour mettre en place ton propre service web, l'explication pour consommer les services étant en bas de document.

  3. #3
    Membre éclairé

    Inscrit en
    janvier 2007
    Messages
    413
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 413
    Points : 363
    Points
    363

    Par défaut

    Je te remercie pour ta réponse rapide!

    Malheureusement, je n'ai pas rational et je ne sais pas ce que c'est que WDS.
    Si c'est un outil hors AS/400, il est à peu près sûr que je ne l'aurais pas.

    Je suis assez rompu (dans certaines limites, quand même) à l'emploi de web-services. Dans un premier temps je n'ai besoin que de l'utilitaire qui à partir d'une URL (s'il le faut) et d'un WSDL génère le code RPG requis pour joindre les services qui sont dedans.

    C'est à dire qui fait:
    1) La série de DS correspondant aux paramètres d'entrée et de sortie des paramètres complexes de mes fonctions si elles en ont.

    2) Créée les PI et les PR permettant l'appel rapide des services en question.

    Le nécessaire pour que d'un module RPGLE je puisse réaliser l'eval requis (celui là ou un autre qui s'en rapprocherait, ou deux appels, ou... mais à peu près cela):
    Eval paramètresSortie = monService(url, paramètresEntrée)

    Uniquement cela.


    Inversement, il me faudra la commande qui lorsqu'elle s'apperçoit qu'un programme a des arguments en entrée ou un PI / PR montrant des arguments crée son WSDL en conséquence pour le joindre.

    Et uniquement cela aussi.

    Je pense qu'il n'y pas besoin de gros outils derrière.
    Ca, c'est le B.A. BA que les commandes wsgen, wsimport de Java font depuis des années. L'équivalent à ces commandes existe sans doute sur AS/400, mais je ne les trouve pas.

    Comme l'OS V6R1, je ne connais pas sa date de sortie, c'est possible qu'il soit trop ancien, les WSDL datent de 2001 et 2007 selon leur version 1.1 ou 2.0, et il est possible que le V6R1 date d'avant 2007, auquel cas, il ne saurait pas ce que c'est! C'est ce que je crains fortement.

    Mon inquiétude c'est que l'AS/400 que j'emploie n'admette pas les web-services du tout. Il n'est peut être pas compatible avec eux dans son OS actuel.
    L'absence de commandes immédiatement visibles... si le système soutenait les web-services, il aurait ces commandes de base: tous les autres langages et OS les ont. J'ai bien peur d'être cuit!

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 314
    Points : 353
    Points
    353

    Par défaut

    Non ne t'inquiètes pas. Déjà la V6R1 est bien plus récente, et même la V5R4 a été mise à jour pour fournir les outils.
    WDS c'est WebSphere Development Studio.
    Si tu n'as aucun outil de développement (ni rational, ni WDS), çà se complique. :-/
    Mais suis le lien que je t'ai indiqué. En bas du document tu trouveras les instructions pour générer les stubs et sources ILE, à partir du fichier WDSL.

  5. #5
    Membre éclairé

    Inscrit en
    janvier 2007
    Messages
    413
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 413
    Points : 363
    Points
    363

    Par défaut

    Ah! C'est déjà ça! Merci!
    Par contre pas d'équivalent inverse:
    rpg2wsdl ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 314
    Points : 353
    Points
    353

    Par défaut

    Pourquoi ?
    Tu voulais consommer un service web, pas fournir, si ?

    De toute manière pour fournir un service web, là il faudra passer par les outils de développement, WDS ou rational, qui fournissent le nécessaire, et l'interface d'administration du serveur Web pour mettre en place tout çà (ce qui est expliqué sur la même page).

  7. #7
    Membre éclairé

    Inscrit en
    janvier 2007
    Messages
    413
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 413
    Points : 363
    Points
    363

    Par défaut

    Idéalement, j'aimerais bien pouvoir en consommer comme en fournir.

    J'ai du mal à comprendre pourquoi un outil non AS/400 serait requis pour invoquer ou se présenter un web-service sur l'IBM AS/400.

    Les web-services ne sont que de l'XML mis en forme pour se conformer à du WSDL, de l'XML Schema et du SOAP. L'IBM AS/400 sait déjà recevoir les requêtes HTTP donc ce devrait être suffisant, sauf si je me trompe du tout au tout.

    Si je me trompe, cela veut dire qu'il y a une partie des travaux que l'AS/400 seul ne sait pas soutenir.
    Est-ce la génération de stub pour l'invocation d'un web-service distant qu'il ne sait pas compiler sur place? À priori, wsdl2rpg devrait y parvenir.

    Est-ce la création d'un WSDL à disposition de l'extérieur ou l'ouverture d'un port HTTP recevant du RPC/SOAP ou du REST que l'AS/400 ne veut pas mettre en place seul?
    Dans ce cas, je comprends qu'il faille un serveur web annexe pour y parvenir.
    Mais ce serait assez choquant. L'OS/400 ne fait déjà pas grand-chose, si en 2012 il ne sait pas présenter un service web tout seul, j'aurais du mal à m'en remettre.

    Mais IBM s'est déjà tellement humilié qu'après tout, je m'attends au pire.

    Ce que je comprends à ce moment, c'est que l'invocation d'un web-service (client) et ou sa publication (serveur), qui sont rapides à implémenter habituellement, vont prendre ici un temps conséquent, réclamer comme tu m'en avertis des logiciels dédiés qu'il faudra qu'un responsable informatique accepte d'acquérir: et il y a peu de chances qu'il l'accepte!

    Mais ce faisant, ce sera une mission à laquelle notre AS/400 aura échoué. À force, il se marginalise dans son incapacité à faire ce que tous les autres systèmes savent faire simplement. Comment peut-il rester encore longtemps dans le monde des vivants s'il s'enfonce dans un ermitage?

  8. #8
    Membre éclairé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 314
    Points : 353
    Points
    353

    Par défaut

    C'est surtout qu'il ne sert à rien de réinventer la roue, que les Linux / Unix / AIX font déjà çà très bien et qu'IBM a donc pris le parti d'utiliser çà brute de fonderie, surtout que l'interface web est la plus adaptée pour gérer çà justement.
    Pour ce qui est de consommer un service web, à partir d'un fichier WSDL, tu as vu que ce n'est pas très compliqué. Normal, on sait parfaitement d'où on part et où on arrive.
    Pour fournir un service web, c'est une autre paire de manche, il n'y a pas une, mais plein de solutions. Le WSDL n'en est qu'une parmi le lot. Et il faut bien envisager/proposer toutes les possibilités, les gérer, fournir les outils de vérification, mise à jour du serveur web, etc... L'outil fournit dans WDS et Rational est là pour çà. N'oublie pas que le serveur web est un Apache, et donc qu'il ne s'exécute pas en natif, il faut bien interfacer tout çà avec les programmes ILE si c'est ce que tu veux utiliser.
    Après tu peux tout faire à la main, voire faire çà en PHP, solution que j'ai fini par utiliser personnellement, parce que la plus simple, la plus claire à mon avis. Après je transmet le résultat à mes programmes en ILE, qui eux vont faire le nécessaire.
    Mais çà suppose que tu aies installé le serveur Zend sur ta machine (c'est gratuit).

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •