Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
bonjour,
Je suis sur une application client serveur Powerbuilder 10.2 et sybase 12.5(bientot 15)
A partir de cette application on me demande de communiquer avec une autre base(postgresql) via un web service
Ma première question est est ce possible?
et si oui comment?
ou peut on trouver des exemples?
Merci par avance de vos réponses.
Cordialement
Laurent
Dernière modification par laurent (21-12-2009 16:50:03)
Hors ligne
Salut Laurent,
A ma connaissance, il y a un doc d'exemple avec easerver là :
http://shahdinsani.sys-con.com/node/107048/mobile
Maintenant le tout est de savoir quel serveur applicatif tu entends utiliser : il y a d'autres doc sur la toile (les meilleurs sont sans doute ici, partie téléchargement) avec Apache etc...
A bientôt !
Hors ligne
Merci pour votre réponse
cordialement
Laurent
Hors ligne
bonjour,
Je reviens sur la création d'une connection avec un webservice
J'ai ajouter la pbd Soap dans mon appli
J'ai essayer d'utiliser le code example de PB pouer générer ma connection mais je bloque sur la définition du proxy
Impossible de creer l'instance proxy
Que faut il faire?
J'arive à créer un objet en utilisant le composant web service proxy wizard mais je n'arrive pas à l'utilisé
Il me manque quelque chose mais quoi?
Merci par avance
cordialement
Laurent
Hors ligne
Salut,
Dans mon cas, j'ai ceci dans une fenêtre:
Déclaration genre
nom_de_classe_du_proxy l_proxy soapconnection lnv_conn
Puis instaciation
ll_check = lnv_conn.CreateInstance( l_proxy, "nom_de_classe_du_proxy")
A la suite de quoi, j'arrive à appeler les fonctions
J'ai par ailleurs remarqué qu'il n'était pas inutile de rajouter à la target la librairie :
???\Program Files\Sybase\Shared\PowerBuilder\pbsoapclient105.pbd; à la liste EN PLUS d'avoir importé les pbx...
Voilà, si ça peut aider...
Bybye !
Dernière modification par elfeliz (18-12-2009 16:42:47)
Hors ligne
Bonjour
Merci pour ta réponse elfeliz
J'ai fini par trouver.
cordialement
Laurent
Hors ligne
Bonjour Laurent,
N'oublies pas le [RESOLU]
Hors ligne
bonjour Foon
Il va falloir que tu m'aide car je n'utilise que trés peu les forums (certainement à tors) et je pensais que mon dernier message suffisait à cloturer le débat.
De plus j'ignore totalement comment il faut mettre l'indicatif [résolu]
Merci de me dire comment il faut procédé
Encore désolé
Cordialement
Laurent
Hors ligne
Bonjour,
Il suffit simplement de rééditer ton message et modifier le titre en mettant [RESOLU].
Hors ligne
Merci
Je le fait tout de suite
cordialement
Laurent
Hors ligne
Bonsoir chacun !
Juste une petite question pour "la forme"...
Laurent, tu as trouvé, mais quoi ?
Peux-tu nous dire ce qui coinçait : nul doute que ça nous servira ;-)
A + !
Hors ligne
bonjour,
Tu as raison elfeliz j'aurais du mettre ce que j'ai trouvé
Entre la documentation Sybase et celle que tu m'a fournie j'ai pu constituer l'appel au service
j'ai crée l'objet proxy via le composant "web serviceproxy wizard" avec le fichier wsdl que l'on m'a communiquer.
La seule chose que je n'avais pas compris (en fait j'ai lu trop vite la doc et en plus mon anglais a quelque raté) c'est que une fois l'obet proxy est crée il faut le déployer de façon à avoir accès à la définition du proxy.
Pour moi le déploiement ne devait intervenir que lors de la fin de l'écriture du code du projet.
A partir de la c'était nettement plus facile pour appeler le service.
Maintenant j'ai d'autre soucis mais qui non rien à voir avec la demande iniitale de ce post donc je l'ai résolu
ci dessous le code pb qui permet de communiquer à un Web service
SoapConnection conn pxyHelloWorldWSImplPort proxy_obj conn = create SoapConnection long lLog ,rVal // création d’un fichier log ppur mémoriser les connexions (on le met dans le répertoire de son choix) lLog = conn.SetOptions("SoapLog=~"C:\mySoapLog.log~"") //Création de l’instance du proxy rVal = Conn.CreateInstance(proxy_obj,"pxyHelloWorldWSImplPort") //On définie 2 structures qui correspondent au structures du web service tns__sayhelloto t1_aller tns__sayhellotoresponse t1_retour try t1_aller.arg0 = sle_1.text //on alimente la structure avec notre zone de saisie t1_retour = proxy_obj.sayhelloto(t1_aller) // appel d’une méthode du proxy avec les paramêtre en entré(t1_aller) et on récupère les données de retour (t1_retour) messagebox("test retour ","mesage reçu : " + t1_retour.ws_return catch ( SoapException e ) / : gestion des erreur du web service messagebox ("Error", "Cannot invoke Web service") end try destroy conn
Merci pour tout
Cordialement
Laurent
Hors ligne
Super !
Merci à toi
A bientôt !
Hors ligne