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

Réseau/Web Python Discussion :

Python + ZSI


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut Python + ZSI
    Bonjour,

    Je suis un petit nouveau dans la grande sphère du WebService. Le but et de faire communiquer mes applications Flex avec des services web distant.

    J'ai lu pas mal de doc sur la creation du fichier wsdl leur fonction et utilisation. Je comprend mieu comment tourne l'usine.

    Pour commencer j'ai creer un petite aplication flex qui appel un ws (web service) en passant comme argument un chiffre et obtient en retour son carré.
    Ca fonctionne trés bien. Mais j'aimerais passé au niveau superieur et utiliser les Types Complex.

    Le but est d'appeller une fonction en passant un nom (string) et obtenir en réponse un tableaux (si possible indexé comme un dictionnaire)

    Je vois a peu prés comment definir la structure des messages et des types dans mon fichier wsdl, mais je ne comprend pas comment générer une réponse de type tableau.

    J'ai à ma disposition les doc de ZSI 2.0 (la version que j'utilise), j'ai bien lu la partie concernant les complex mais désolé je n'y arrive pas.

    Si qqun connait un site avec un exemple concret:
    0) Déclaration du fichier wsdl (ca encore je peux m'en sortir)
    1) Le ws recoit la requette avec les arguments
    2) requette SQL ou parssage de fichier XML ou autre calcul (traitement)
    3) Le ws génere une reponse (c'est le point qui m'embette le plus)
    4) Envoie

    J'ais visité pas mal de site mais quasiment à chaque fois la réponse ne contient qu'un enregistrement alors que je vousdrais un exemple ou la réponse contient plus d'un réponse.

    Merci à tous

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut
    Salut,

    Pour clôturer cette discussion.

    J'ai trouver ma réponse.

    En fait mon wsdl était mal construit (donc lecture de doc sur le sujet), et ensuite en fouillant un peut dans les fichiers générer par wsdl2py et wsdl2disqpach j'ai trouver comment renvoyer un "tableau" bien comme il faut

    ex :
    request, response = KillaService.soap_getkilla(self, ps, **kw)
    response = getKillaResponse()
    killa_instance = MyTools.KillaDb()
    result = killa_instance.getlist()
    for cl in result:
    kl = response.new_client()
    kl.set_element_id(cl[0])
    kl.set_element_interface(cl[1])
    kl.set_element_macadr(cl[2])
    kl.set_element_ipadr(cl[3])
    kl.set_element_modele(cl[4])
    kl.set_element_cpu(cl[5])
    kl.set_element_nom(cl[6])
    kl.set_element_version(cl[7])
    kl.set_element_update(cl[8])
    response._client.append(kl)
    return request, response

    Voili voilou

Discussions similaires

  1. [langage] traduction d'un fonction python en perl
    Par ay_pepito dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2007, 15h06
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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