Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
J'ai un webservice qui pointe sur un serveur de production.
Je souhaiterais utiliser ce même webservice sur un serveur de développement pour les tests.
Le problème est que l'url est forcément différente, et positionnée lors de la création du projet.
Et lors de déploiement du projet, PB effectue la création du proxy avec ses différentes méthodes.
La question est donc, est-il possible d'utiliser un webservice qui pointe sur 2 serveurs différents ?
Merci d'avance,
Hors ligne
Le webservice accédé par proxy PB est hard-codé dans le marbre : pas du tout évolutif.
Si tu veux changer des paramètres, il faut le recompiler. Il est très probable que le changement d'url en fasse partie. C'est l'une des raisons qui a poussé xlat à accéder au webservice de la TVA intracommunautaire par du perl et plus par PB.
Je pense que tu pourrais tricher en définissant ton webservice sur l'url "prod" (à condition que les paramètres soient identiques y compris le port http) et sur les machines devant accéder à la version "dev" tu surcharges l'adresse du serveur dans le fichier "host" (sur mon winXP c'est dans C:\WINDOWS\system32\drivers\etc\hosts, et apparemment c'est pareil sur Win7)
Ce fichier est une correspondance nom de domaine / ip. Exemple chez moi:
127.0.0.1 localhost 127.0.0.1 mybox
Ici ça dit que si tu cherches à accéder à localhost c'est l'ip 127.0.0.1 et que mybox est aussi un alias vers la machine locale.
Tu pourrais ajouter une ligne avec l'ip du serveur de dev et le nom de la machine de prod, qui ferait accéder de façon transparente au serveur de test.
Pour désactiver une ligne, il suffit de mettre un '#' devant la prise en charge est immédiate dès enregistrement du fichier, pas besoin de redémarrer.
Hors ligne
seki a écrit:
Je pense que tu pourrais tricher en définissant ton webservice sur l'url "prod" (à condition que les paramètres soient identiques y compris le port http) et sur les machines devant accéder à la version "dev" tu surcharges l'adresse du serveur dans le fichier "host" (sur mon winXP c'est dans C:\WINDOWS\system32\drivers\etc\hosts, et apparemment c'est pareil sur Win7)
Dommage, dans mon cas, c'est justement le lien http qui est différent, tout le reste est identique.
Et sinon, et bien je vais devoir demander une formation en PERL
Merci,
Hors ligne
Sinon tu peux toujours créer les 2 proxies en dur dans ton appli et utiliser un switch (genre : ton_programme.exe /dev) qui indiquera à l'appli qu'il faut utiliser le proxy de dev ;)
Hors ligne
wazou1812 a écrit:
Dommage, dans mon cas, c'est justement le lien http qui est différent, tout le reste est identique.
Heeuuu SHIFT*#INPUT/!ERROR$ Qu'est-ce que tu appelles "le lien http" ? La partie qui suit le nom de domaine (le ou les répertoires) ? Les 2 services tournent sur la même machine ?
wazou1812 a écrit:
Et sinon, et bien je vais devoir demander une formation en PERL
Je crois qu'Xlat avait publié un exemple
Hors ligne
Bonjour,
Pour une fois la solution était toute simple, elle se trouvait dans CreateInstance, ou il est possible de préciser le serveur sur lequel on désire pointer (ret = Conn.(myproxy, "syb_myport", "http://my.server/soap/myport")
Merci pour vos conseils,
Hors ligne
Pages: 1