Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 09-06-2008 07:42:05

matock  
Membre
Date d'inscription: 27-07-2007
Messages: 6
Pépites: 59
Banque: 0

Appel de methode web service avec clause DYNAMIC ne marche pas

Bonjour,

J'ai un objet ancêtre qui traite de manière générique l'appel à un web service. Dans le descendant je crée le proxy et j'appelle la methode du web service. J'ai besoin d'utiliser la clause DYNAMIC mais PB me renvoie à l'exécution une erreur 65 Dynamic function not found. Possible causes include: pass by value/reference mismatch.

On dirait qu'il ne gère pas correctement la clause DYNAMIC dans le cas des web services. Quelqu'un à une idée ?

Pour déclarer le proxy de manière générique je procède ainsi (je simplifie) :

Dans l'ancêtre

Declare Instance Variables
PowerObject   i_ProxyObject
String             is_ProxyName, is_URL

ue_Call()
SoapConnection      l_Conn
l_Conn = CREATE SoapConnection
...
l_Conn.CreateInstance(i_ProxyObject, is_ProxyName, is_URL)

Dans le descendant

ue_Init()
is_URL = "http://..."
is_ProxyName = "myWebService"
i_ProxyObject = CREATE USING is_ProxyName

ue_Call()
i_ProxyObject.DYNAMIC myMethod(myArgs, ...)

Hors ligne

 

#2 09-06-2008 07:52:12

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: Appel de methode web service avec clause DYNAMIC ne marche pas

Bonjour,

Merci d'utiliser les balises de code afin de rendre les messages plus lisibles.



Par ailleurs, as-tu vérifié le passage de paramètres de ta méthode?
Peux-tu nous communiquer son prototype (avec détail des arguments en ref, value, etc...)
et l'appel dynamique complet?

Cordialement


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#3 24-06-2008 15:18:13

matock  
Membre
Date d'inscription: 27-07-2007
Messages: 6
Pépites: 59
Banque: 0

Re: Appel de methode web service avec clause DYNAMIC ne marche pas

Il n'est jamais trop tard!

Ok pour les balises que je ne connaissais pas.

Concernant mon code il est vraiment comme mon exemple. Mon web service a 4 arguments en string, et tous passés par référence. Il n'y a rien de compliqué. Je précise que ça fonctionne parfaitement du moment que je n'utilise pas la clause DYNAMIC.

Sans le DYNAMIC je suis obligé d'appeler ma méthode dans le descendant. Alors qu'en dynamique je pourrais le coder de manière générique dans l'ancêtre. Le but était juste d'être plus propre "conceptuellement parlant".

Merci tout de même.

Hors ligne

 

#4 24-06-2008 15:44:29

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: Appel de methode web service avec clause DYNAMIC ne marche pas

Bonsoir,

Tu as bien pensé à tester l'existence de ton objet proxy avec un Isvalid()?
Ta méthode n'est pas polymorphique par hasard?

Si tu nous faisais un export de tes objets, il serait peut-être plus facile de voir ce qui cloche.

Au fait, dans quelle version de PB es-tu?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22