PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Renvoyer une image - Webservice
Renvoyer une image - Webservice
Débuté par Fahed, 28 fév. 2017 15:55 - 3 réponses
Posté le 28 février 2017 - 15:55
Bonjour ,
Je vous explique mon problème .
J'ai un Webservice qui renvoie un buffer après une sérialisation d'une structure et voilà le code :
StRib est une structure
IDRib est entier
IDTiers est entier
P_RIBNOM est une chaîne
P_RIBCOD est une chaîne
P_4BQGUI est une chaîne
P_RIBCPT est une chaîne
P_RIBCLE est une chaîne
P_RIBLOC est une chaîne
IBAN est une chaîne
BIC est une chaîne
Suppr est une entier
Datmod est une Date
utimod est une chaîne
P_4BQETB est une chaîne
PJ_RIB est un Image
FIN

//Ma procedure

Procedure PROC_RENVOIE_PJRIB(IdRib)

bufXml est un Buffer
Var_StRib est un StRib
SdSourceRib est une Source dede Données
SreqRib est une chaîne =
[
SELECT
Rib.IDRib,
Rib.IDTiers,
Rib.P_RIBNOM,
Rib.P_RIBCOD,
Rib.P_4BQGUI,
Rib.P_RIBCPT,
Rib.P_RIBCLE,
Rib.P_RIBLOC,
Rib.IBAN,
Rib.BIC,
Rib.Suppr,
Rib.Datmod,
Rib.utimod,
Rib.P_4BQETB,
Rib.PJ_RIB
FROM
Rib
WHERE Rib.IdRib='%1'
]
SreqRib=ChaîneConstruit(SreqRib,IdRib)

SI PAS HExécuteRequêteSQL(SdSourceRib,hRequêteDéfaut,SreqRib) ALORS
Erreur(ErreurInfo(errComplet))
FIN

Listrubrique est une chaîne =HListeRubrique(SdSourceRib)

SI HLitPremier(SdSourceRib) ALORS
POUR TOUTE chaîne sUneRubrique de Listrubrique SEPAREE PAR RC
SI sUneRubrique="PJ_RIB" ALORS
stImg est un StRib
stImg.PJ_RIB={"SdSourceRib."+sUneRubrique}
FIN
{"Var_StRib."+sUneRubrique}={"SdSourceRib."+sUneRubrique}
FIN

FIN

Sérialise(Var_StRib, bufXml,psdXML)

RENVOYER bufXml


en exécutant ce code ,voilà ce que j'obtiens :

http://hostimage.windev.io/images/Capture_c9550eb85974be4d51919d5a98e0d41c.PNG


Par contre en faisant appel à cette procédure depuis mon application :
stVar_StRib est un StRib
bufBBufferPjRib est un Buffer=PROC_RENVOIE_PJRIB(323)
SI PAS Désérialise(stVar_StRib, bufBBufferPjRib, psdXML) ALORS
Erreur(ErreurInfo(errComplet))
FIN


voilà ce que j'obtiens :

http://hostimage.windev.io/images/Capture2_e102e9a42e706e4c6c477c1d131eb69f.PNG


Comme vous le voyez , j'arrive pas à exploiter StRib.PJ_RIB !!!

Merci pour vos commentaires.
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 28 février 2017 - 19:05
Bonjour Fahed,

Il faut typer le renvoi de la procédure du webservice comme ceci :
Procedure PROC_RENVOIE_PJRIB(IdRib):Buffer


Ensuite il faut mettre à jour le webservice puis le réimporter ou le mettre à jour dans l'application qui le consomme.

J'ai eu un problème similaire en passant d'une chaine à un buffer en type retour, lorsque l'on ne type pas de manière explicite on peut avoir ce genre de problème.

Bon dev!

Jérôme
Membre enregistré
3 messages
Posté le 24 août 2019 - 14:21
Thank you Jérôme, that helped a lot

:merci: Gerhard
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 26 août 2019 - 10:23
You'r welcome Gerhard !

I'm glad to be able to help you. ;)