PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 23 → Webservice MTOM XOP
Webservice MTOM XOP
Débuté par Nicolas CAILLIEZ, 09 nov. 2018 11:09 - 6 réponses
Membre enregistré
145 messages
Posté le 09 novembre 2018 - 11:09
Bonjour

avez vous plus d'infos sur l'optimisation MTOM / XOP, d'après la doc windev 23, c'est en standard

voir brochure windev 23 , page 65, paragraphe 'Tout Gérer' , dernière ligne.

j'ai un retour de webservice de colissimo sous cette forme (Méthode Rest via Restenvoie ) :
--uuid:c5414cba-0387-47db-8787-17ed67a93f7b
Content-Type: application/json;charset=UTF-8
Content-Transfer-Encoding: binary
Content-ID: 

{"messages":[{"id":"0","type":"INFOS","messageContent":"La requête a été traitée avec succès","replacementValues":[]}],"labelXmlV2Reponse":null,"labelV2Response":{"parcelNumber":"6A15914903334","parcelNumberPartner":"0059000116A1591490555801250W","pdfUrl":null,"fields":null}}
--uuid:c5414cba-0387-47db-8787-17ed67a93f7b
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: 


Y a t il des fonctions natives pour extraire les infos ou faut il parcourir et extraire avec des fonctions chaines?

Merci
Membre enregistré
460 messages
Posté le 09 novembre 2018 - 13:22
Bonjour,

Le content-id est une fichier pdf en binaire,
Si tu sauve le contenu dans un fichier tu pourra l'ouvrir

Jordan
Membre enregistré
145 messages
Posté le 09 novembre 2018 - 16:58
Merci pour ton retour

ce qui m’intéresse, c 'est d'extraire les differentes parties du retour du webservice.
y a du json dans le 1er content id (avec n° etiquette ) , du octet stream dans le 2e content id (l'etiquette).

Je peux parser cette chaine ok. N' y a t il pas de fonctions natives pour extraire directement dans ce genre de retour?

Merci
Membre enregistré
460 messages
Posté le 09 novembre 2018 - 17:31
Quel est ton code pour arriver a cette reponse ?
Membre enregistré
460 messages
Posté le 09 novembre 2018 - 17:51
Quel valeur veut tu recuperer ?

va sur http://labelary.com/viewer.html

et colle le texte apres content-id, tu verras la forme du fichier renvoyer par le webservice
Membre enregistré
145 messages
Posté le 09 novembre 2018 - 18:37
mon etiquette je l'imprime bien, pas de soucis.
Mais en décomposant le contenu de façon peut être pas idéale.

Le code qui me permet d'avoir mon contenu
cMaRequete est un restRequête
cMaRequete..URL = "https://ws.colissimo.fr/sls-ws/SlsServiceWSRest/2.0/generateLabel/"
cMaRequete..Contenu = sParam_jSon
cMaRequete..Méthode = httpPost  
cMaRequete..ContentType = "application/json"

cMaReponse est un restRéponse = RESTEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Info("erreur")
Erreur(ErreurInfo(errComplet))
SINON
Info(cMaReponse..Contenu)
FIN
Membre enregistré
460 messages
Posté le 09 novembre 2018 - 19:27
Si tu reçois l'étiquette en pdf, tu pourrais utilisé la fonction pdfverstexte()