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

Web & réseau Delphi Discussion :

Delphi6 - Import WSDL


Sujet :

Web & réseau Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 182
    Par défaut Delphi6 - Import WSDL
    J'ai importé un WSDL sous DELPHI 6 au travers de l'importateur WSDL.
    Cela ne plante pas lors de la génération mais ensuite impossible de compiler mon projet.
    J'ai des message d'erreur lors de la compilation comme quoi j'ai des identificateur non déclaré.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      ProductManagerPortType = interface(IInvokable)
      ['{9ED656DE-7D9B-DF54-658D-B2D6DCA5CFDC}']
        function  getProduct(const parameters: getProduct): getProductResponse; stdcall;
        function  completeKey(const parameters: completeKey): completeKeyResponse; stdcall;
        function  deleteProduct(const parameters: deleteProduct): deleteProductResponse; stdcall;
        function  deleteProductList(const parameters: deleteProductList): deleteProductListResponse; stdcall;
        function  findProduct(const parameters: findProduct): findProductResponse; stdcall;
        function  hasProduct(const parameters: hasProduct): hasProductResponse; stdcall;
        function  fillProduct(const parameters: fillProduct): fillProductResponse; stdcall;
        function  isUsedProductType(const parameters: isUsedProductType): isUsedProductTypeResponse; stdcall;
        function  getProductLocal(const parameters: getProductLocal): getProductLocalResponse; stdcall;
      end;
    cela ma retour [Erreur] Identificateur non déclaré : 'getProduct'

    Habituellement sur l'import d'autre WSDL cela me générait pour GetProduct des class avec des property.
    Dans le code de mon unité, j'ai également les commentaires suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      // [AVERTISSEMENTS]************************************************************** //
      // Avertissement : unwind impossible des paramètres littéraux de getProduct()
      // Avertissement : unwind impossible des paramètres littéraux de completeKey()
      // Avertissement : unwind impossible des paramètres littéraux de deleteProduct()
      // Avertissement : unwind impossible des paramètres littéraux de deleteProductList()
      // Avertissement : unwind impossible des paramètres littéraux de findProduct()
      // Avertissement : unwind impossible des paramètres littéraux de hasProduct()
      // Avertissement : unwind impossible des paramètres littéraux de fillProduct()
      // Avertissement : unwind impossible des paramètres littéraux de isUsedProductType()
      // Avertissement : unwind impossible des paramètres littéraux de getProductLocal()
      // ************************************************************************ //
    J'ai bien trouvé le post suivants :
    http://www.developpez.net/forums/d97...ortateur-wsdl/
    et
    http://www.developpez.net/forums/d94...delphi-7-ocod/
    mais cela ne m'aide pas vraiment car j'ai l'impression que l'importateur Delphi7 dispose de fonctionnalités supplémentaires.
    En Delphi 6, je n'ai dans les options d'import que deux onglets.
    Le premier concerne des paramètres de connexion (Utilisateur, Mot de passe, Proxy).
    Sur le second, j'ai les options suivantes
    - Déclarer espace de nommage (sélectionné)
    - Un param. de sortie est Return (sélectionné)
    - Unwind des paramètres littéraux (sélectionné)
    - Générer les destructeurs (sélectionné)
    - Ignorer les erreurs de schéma
    - Commentaires d'avertissements (sélectionné)
    - Emettre les types littéraux
    - Types ambigus comme tableau
    - Générer implémentation serveur
    - Mapper String et WideString
    et c'est tout.

    après mettre positionné dans c:\Program Files\Borland\Delphi6\Bin,
    j'ai essayé la syntaxe suivante :
    wsdlimp.exe -Ot- c:\Test\Test.WSDL
    mais cela me retourne une erreur *Error*:Invalid option '-Ot-'
    et c'est vrai que je ne dispose pas de cette option.
    J'ai :
    -Oa-
    -Ob-
    -Od+
    -Oi-
    -Ok-
    -Ol-
    -On+
    -Oo+
    -Oq-
    -Os-
    -Ou+
    -Ov+
    -Ow-
    et -Oz+

    Une idée ?
    Help.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 001
    Par défaut
    "Unwind des paramètres littéraux" as-tu tenté de le décocher ?

    Importe le WSDL via "DXE3 Trial" et utilise le fichier généré en D6, regarde cela donne (tu vas devoir le retoucher, en particulier les property qui ont un nouveau mot clé)

    Faudrait voir si D7 Perso fourni WDSLImp dans bin (même si l'expert lui n'est pas là), tu aurais moins de retouche de code à faire

    L'import sous D7 sans "Output unused types" faisait la même chose que toi, il importait les fonctions mais semblaient ignoré l'inter-dépendance des types, du coup, aucun type importé !
    essaye WDSLImp -Ot- de D7 Perso

    J'ai fait la même chose avec WDSLImp 2009 Trial vers D7, j'ai retiré les éléments en trop, corrigé les préfixes d'énumération, et cela a fonctionné !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Import WSDL (any processContents)
    Par TotalFab dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 03/10/2011, 18h48
  2. SoapUI - Import wsdl
    Par Amine_27 dans le forum Services Web
    Réponses: 1
    Dernier message: 28/05/2011, 18h52
  3. [Web Service] Acceder aux import wsdl via proxy
    Par Devether dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 19/05/2010, 15h57
  4. webservice - import wsdl plante
    Par tibouchou dans le forum Flex
    Réponses: 2
    Dernier message: 04/08/2009, 13h00
  5. Import WSDL dans Visual Studio : warning
    Par kaboume dans le forum Services Web
    Réponses: 2
    Dernier message: 30/08/2007, 16h47

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