Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Je voudrais faire un appel à un web service sur mon appli.
Cependant, il m'est impossible d'installer les composants nécessaires.
Je n'ai pas de problème pour ajouter le fichier pbsoapclient120.pbx.
Par contre, pour tout autre fichier (easysoap.dll, pbwsdl120.dll, ...), une erreur est générée :
---------- Import PB Extension: (17:37:06)
Importing D:\....\20120201\2012.01\pbwsdl120.dll - Error: Cannot find exported function "GetDescription" in this file.
---------- Finished (17:37:06)
Après avoir parcouru plusieurs forum (remplacement des dll libeay32.dll, ssleay32.dll, installation de PB12 sur une machine virtuelle "clean",...), je ne parviens pas à ajouter ces extensions.
Je tiens à préciser que j'arrive à créer dans PB un proxy issu du service, mais la création de l'instance plante ...
PB version 12.1 Build 6518
Windows 7 professional
Merci de votre aide.
Dernière modification par ad102 (09-04-2014 08:50:41)
Hors ligne
Bonjour,
en fait les DLL n'ont pas être importé dans le projet PB, par contre, il faut qu'elles soient dans le PATH, pour tester je te conseil de les copier dans le répertoire de ton projet.
Pour compléter: la distribution des dll peut être simplifiée par l'application "PowerBuilder RunTime Packager", il y a une case à cocher"SOAP Client for Web Service" : cette application te génère un installeur en .msi qui tu peux lancer en mode silencieux si besoin est.
Hors ligne
Je l'ai déjà fait ... cela ne change rien !
J'ai également ajouté les dernières mise à jour de la version de PB12 -> build 7000.
Rien ne change
Du coup, lors de l'appel de mon web service, (j'y ai accès pas IE), j'ai un plantage sur la création de l'instance.
try Soapconnection sconn sconn = create soapconnection cwm_wssoap proxy // sconn.createinstance(proxy,"ws") sconn.createinstance(proxy,"ws","http://localhost:8080/ws.asmx?wsdl") catch (soapexception e1) messagebox('',e1.text) end try
Hors ligne
je pense que tu y as pensé
mais je le dis quand meme
il faut que dans ton projet il y ait la pbd pbsoapclientxxxx.pbd
Hors ligne
ad102 a écrit:
Je l'ai déjà fait ... cela ne change rien !
J'ai également ajouté les dernières mise à jour de la version de PB12 -> build 7000.
Rien ne change
Du coup, lors de l'appel de mon web service, (j'y ai accès pas IE), j'ai un plantage sur la création de l'instance.
[
c'est quoi le message du plantage ?
Hors ligne
J'ai ce message :
Bad runtime function reference at line 10 in clicked event of object cb_1 of w_interface.
Hors ligne
je te conseil de démarrer ton application avec dependency walker (outils microsoft) et profiler et regarder dans les logs pourquoi la pbx ne se charge pas.
Hors ligne
J'ai chargé pbsoapclient120.pbx dans dependencywalker et j'obtiens 2 warning :
IESHIMS.DLL Error opening file. Le fichier spécifié est introuvable (2).
WER.DLL Error opening file. Le fichier spécifié est introuvable (2).
Est-ce que je dois télécharger ces dll ?
Hors ligne
ad102 a écrit:
Est-ce que je dois télécharger ces dll ?
Normalement non, est-ce que tu es sur un poste avec l'IDE d'installé ou c'est une "configuration client" ?
en fait,je te conseil plutôt de démarrer carrément l'exe de ton application dans dependency walker et de faire Profile>Start Profiling...;
car il arrive qu'au runtime, des dll se retrouvent dans le path.
Dernière modification par xlat (16-02-2012 15:09:43)
Hors ligne
ok Merci pour les infos.
Je suis sur un poste avec IDE, et j'ai les même erreurs sur l'exe de l'application.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Hors ligne
pendant que l'application s'execute sous "dependency walker" ?
Hors ligne
ad102 a écrit:
Je suis sur un poste avec IDE, et j'ai les même erreurs sur l'exe de l'application.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Attention, ce ne sont pas des erreurs mais des avertissements. Ils indiquent seulement que lors du chargement, certaines dll ont été cherchées et n'ont pas été trouvées. Cela peut être un fonctionnement normal : certaines applications cherchent l'une ou l'autre version d'une dll, ou encore cherchent la présence d'une dll (avec un LoadLibrary()) pour dynamiquement adapter leur fonctionnement. Et dans ce cas Dependency Walker signale qu'une dll cherchée n'a pas été trouvée.
J'ai le cas ici avec avec un tas d'exe et les même dll IESHIMS.DLL et WER.DLL d'ailleurs. Le problème est ailleurs.
Hors ligne
Merci pour vos réponses.
Je suis parti sur la création d'un nouveau projet et la cela fonctionne bien.
Je pense qu'il y a un problème sur mon ancienne application.
Hors ligne