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

WinDev Discussion :

Comment utiliser 1 structure dans 1 WebService ?


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 34
    Par défaut Comment utiliser 1 structure dans 1 WebService ?
    Bonjour,
    Je viens de migrer en windev 16 pour bénéficier de la gestion des structures dans les webservices
    exemple d'1 procédure qui renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Local
       Struct est une structure
    	ch1		est une chaîne
    	ch2		est une chaîne
       FIN
       struct1		est une Struct 
     
       struct1.ch1= "AA"
       struct1.ch2 = "11"
     
       renvoyer(struct1)
    A l'execution de mon webservice j'ai le message d'erreur ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    - <SOAP-ENV:Body>
    - <SOAP-ENV:Fault>
      <faultcode>SOAP-ENV:Server</faultcode> 
      <faultstring>Le membre 'ch1' est inconnu.</faultstring> 
      <detail>Que s'est-il passé ? Le membre 'ch1' est inconnu. Code erreur : 40050 Niveau : erreur fatale (EL_FATAL) Dump de l'erreur du module 'wd160xml.dll' (16.0.42.0). Informations supplémentaires : EIT_XINFO : <4></detail> 
      </SOAP-ENV:Fault>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>
    Comment faut-il procéder pour pouvoir utiliser les structures ?

    merci d'avance

  2. #2
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 204
    Par défaut
    Bonjour,

    Je suis intéressé également par ce sujet, je n'arrive pas non plus à retourner des structures.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 161
    Par défaut
    Hello, je n'ai pas encore pu tâter la 16, ils ont donné cette possibilité? Car ce n'était pas le cas en WD15 (ni les objets)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Par défaut
    Ta structure doit être déclarée dans le code de déclaration de ta collection procédure.

    Sinon, le wsdl ne la connait pas.

    Tu ne peut pas renvoyer une variable basée structure déclarée en local.

    Donc :
    Code de déclaration de collection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Struct est une structure
    	ch1	 est une chaîne
    	ch2	 est une chaîne
    FIN
    Ton WS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROCEDURE Test()
     
     
    struct1	 est une Struct 
     
    struct1.ch1= "AA"
    struct1.ch2 = "11"
     
    RENVOYER struct1

  5. #5
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 204
    Par défaut
    Personnellement j'ai rien qui n'ai renvoyé ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      <?xml version="1.0" encoding="ISO-8859-1" ?> 
    - <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <soap:Body>
    - <Reception_Fiche_AuditeurResponse xmlns="urn:RadioWinnersWeb">
      <Reception_Fiche_AuditeurResult xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:string" /> 
      </Reception_Fiche_AuditeurResponse>
      </soap:Body>
      </soap:Envelope>
    Mon code de déclaration de procédure globales:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Fiche est une structure
    	Nom est une chaîne
    	Prenom est une chaîne
    FIN
    et le code final :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Infos_Auditeur est un Fiche
     
    Infos_Auditeur.Nom = REQ_Fiche_Auditeur.Nom
    Infos_Auditeur.Prenom = REQ_Fiche_Auditeur.Prénom
     
     
    RENVOYER Infos_Auditeur
    Merci

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 308
    Par défaut
    Et en déclarant la variable Infos_Auditeur en global aussi ?
    Vous m'intéressez la car je vais devoir aussi me pencher sur la question.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Par défaut
    J'ai fait ton test :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Déclaration de pWS_Test
     
    Fiche est une structure
    	Nom est une chaîne
    	Prenom est une chaîne
    FIN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PROCEDURE RenvoyerFiche()
     
    Infos_Auditeur est un Fiche
     
    Infos_Auditeur.Nom = "Test Nom"
    Infos_Auditeur.Prenom = "Test Prenom"
     
    RENVOYER Infos_Auditeur
    Je teste la page déployée par windev :

    http://wstest/MON_PROJET_WS_WEB/awws/RenvoyerFiche.htm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    - <SOAP-ENV:Body>
    - <ns1:RenvoyerFicheResponse xmlns:ns1="urn:Mon_Projet">
    - <ns1:RenvoyerFicheResult>
      <ns1:Nom>Test Nom</ns1:Nom>
      <ns1:Prenom>Test Prenom</ns1:Prenom>
      </ns1:RenvoyerFicheResult>
      </ns1:RenvoyerFicheResponse>
      </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>

  8. #8
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 204
    Par défaut
    Alors cela viens peut-être de la maniere de publication ? Car tu as l'air d'utiliser un serveur d'application Webdev, ce n'est pas mon cas ... Je suis rester en compatibilité ISAPI avec IIS.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 47
    Par défaut
    oui, c'est ca.

    le mode ispai ne permet que de gérer des type simples.
    tu peux utiliser une chaîne xml.

    A+

  10. #10
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 204
    Par défaut
    D'accord

    Merci ! C'est ce que je pensais faire au final.

Discussions similaires

  1. Comment utiliser le ping dans un prog
    Par debutant-1 dans le forum Linux
    Réponses: 2
    Dernier message: 23/06/2006, 10h09
  2. Réponses: 4
    Dernier message: 16/02/2006, 16h28
  3. Réponses: 1
    Dernier message: 09/02/2006, 16h59
  4. Réponses: 7
    Dernier message: 25/11/2005, 17h11
  5. [C#]Comment utiliser un dataset dans plusieurs...
    Par Sonny dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/11/2005, 14h03

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