Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
je développe un web service en PB 12.0 classic, celui-ci doit retourner sous forme de BLOB un fichier PDF stocké physiquement sur un répertoire partagé d'un autre serveur.
le problème est que le webservice ne trouve pas le fichier, toutes les fonctions directroyexists(), fileexists(), fileopen() échouent.
Exemple si les PDF sont sur c:\pdfdoc
le web service recherche dans ce répertoire : C:\inetpub\wwwroot\webservice_XXX_root\file\session\__webservice__\c\pdfdoc
La seule chose qui fonctionne est de créer un sous-répertoire du type :C:\inetpub\wwwroot\webservice_xxx_root\file\common\c\pdfdoc
mais cela impliquerait de dupliquer les fichiers.
Quelle est la solution pour lire dans un répertoire en dehors de l'arborescence du webservice ?
Merci
Hors ligne
Bonjour,
Tu peux essayer en créant une jonction de répertoire avec la commande mklink :
mklink /j C:\inetpub\wwwroot\webservice_xxx_root\file\common\c\pdfdoc C:\pdfdoc
Hors ligne
Bonjour,
je n'ai jamais développé de WS mais juste 2 propositions naïves :
- en passant par un chemin du type "\\machine\partage\fichier.pdf" (donc tu dois partager le répertoire C:\pdfdoc sur la machine), ça ne fonctionne pas ?
- un ChangeDirectory("C:\pdfdoc") juste le temps du FileExists("fichier.pdf") ?
Hors ligne
Bonjour,
Voici la solution appliquée :
Utilisation des commandes Powershell pour recopier le PDF dans l'arborsence virtuelle du webservice.
Modification de l'utilisateur lié à l'application pool pour avoir des droits de lecture sur les répertoires partagés.
Hors ligne