|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
[WM23] Android - Webservice ..Occurence sous structure |
Started by Claude, Aug., 11 2018 3:51 PM - 4 replies |
| |
| | | |
|
| |
Posted on August, 11 2018 - 3:51 PM |
Bonjour, Je dois dans l'un de mes projets parcourir le résultat des requêtes à un webservice, pour traiter et stoker les données (sérialisation en local du résultat). Avec une réponse du WS ne contenant qu'une structure simple et en utilisant WSReponse.RequX..occurence pour le parcours je ne rencontre pas de problème. Mais celle que je dois maintenant traiter 'informationEcluseWS', contient dans sa définition une structure incluant une autre sous-structure 'infosSasWS'.
Extrait du WSDL :
<xs:complexType name="informationEcluseWS"> <xs:sequence minOccurs="0"> <xs:element name="horodatage" type="xs:dateTime"/> <xs:element name="numeroEcluse" type="xs:int"/> <xs:element name="nomEcluseFR" type="xs:string"/> ... <xs:element name="marque1" type="xs:decimal"/> <xs:element name="marque2" type="xs:decimal"/> <xs:sequence maxOccurs="unbounded" minOccurs="0"> <xs:element maxOccurs="unbounded" minOccurs="0" name="sas" type="tns:infosSasWS"/> </xs:sequence> </xs:sequence> </xs:complexType> <xs:complexType name="infosSasWS"> <xs:sequence minOccurs="0"> <xs:element name="idSas" type="xs:int"/> <xs:element name="nomSasFR" type="xs:string"/> <xs:element name="nomSasDE" type="xs:string"/> <xs:element name="nomSasEN" type="xs:string"/> <xs:element name="nomSasNL" type="xs:string"/> <xs:element name="dureeCycle" type="xs:int"/> <xs:element name="largeurSas" type="xs:decimal"/> <xs:element name="longueurSas" type="xs:decimal"/> <xs:element name="idSIGFED" type="xs:string"/> </xs:sequence> </xs:complexType>
Donc dans un premier temps, je boucle sur le premier niveau des occurences de 'informationEcluse',
WS_getInformationsEclusesEtSas est un getInformationsEclusesEtSasRequest WS_getInformationsEclusesEtSas.utilisateur.identifiant = xxxxxx WS_getInformationsEclusesEtSas.utilisateur.motDePasse = yyyyyy WS_getInformationsEclusesEtSasResponse est un getInformationsEclusesEtSasResponse
WS_getInformationsEclusesEtSasResponse = getInformationsEclusesEtSas(WS_getInformationsEclusesEtSas)
nNbOccurenceWSECL = WS_getInformationsEclusesEtSasResponse.informationEcluse..Occurrence Trace("WS = getInformationsEclusesEtSas : "+nNbOccurenceWSECL +" Occurrence") SI nNbOccurenceWSECL > 0 ALORS TableauSupprimeTout(TABSTInformationsEclusesEtSas) nIndiceTableau est un entier nIndiceOccurence est un entier POUR nIndiceOccurence = 1 _À_ nNbOccurenceWSECL nIndiceTableau = TableauAjoute(TABSTInformationsEclusesEtSas) SI nIndiceTableau<>-1 ALORS TABSTInformationsEclusesEtSas[nIndiceTableau].WSDateHeureActualisation = gdhDH_Dernière_Actu_InformationsEclusesEtSas
nNbSousOccurenceSas = WS_getInformationsEclusesEtSasResponse.informationEcluse[nIndiceOccurence].sas..Occurrence Trace("Nb SousOccurrence SAS = "+nNbSousOccurenceSas) POUR nIndiceOccurenceSAS = 1 _À_ nNbSousOccurenceSas nIndiceTableausas est un entier = TableauAjoute(TABSTInformationsEclusesEtSas[nIndiceTableau].sas) SI nIndiceTableausas<> -1 ALORS TABSTInformationsEclusesEtSas[nIndiceTableau].sas[nIndiceTableausas].IdSas = WS_getInformationsEclusesEtSasResponse.informationEcluse[nIndiceOccurence].sas[nIndiceOccurenceSAS].idSas FIN FIN
SINON SI gbOS_AffichageDialErreur ALORS Erreur("Erreur d'ajout d'un élément dans le tableau !") FIN puis pour chaque item 'informationEcluse' je veux parcourir les items de la sous-structure 'sas' au en utilisant sas..Occurrence. Sous l'environnement de développement aucun problème, mais après génération de l'APK, l’exécution depuis un smartphone génère systématiquement une erreur fatale avec comme message : Le membre 'sas' est inconnu.
Je n'arrive pas à trouver la solution, avez-vous une idée me permettant de résoudre le problème ?
Merci d'avance Claude |
| |
| |
| | | |
|
| | |
| |
Posted on August, 13 2018 - 5:36 PM |
Bonjour, je n'ai toujours pas pu résoudre mon problème Au passage, il manquait deux "FIN" au code que j'avais inséré dans mon dernier POST.
WS_getInformationsEclusesEtSas est un getInformationsEclusesEtSasRequest WS_getInformationsEclusesEtSas.utilisateur.identifiant = xxxxxx WS_getInformationsEclusesEtSas.utilisateur.motDePasse = yyyyyy WS_getInformationsEclusesEtSasResponse est un getInformationsEclusesEtSasResponse
WS_getInformationsEclusesEtSasResponse = getInformationsEclusesEtSas(WS_getInformationsEclusesEtSas)
nNbOccurenceWSECL = WS_getInformationsEclusesEtSasResponse.informationEcluse..Occurrence Trace("WS = getInformationsEclusesEtSas : "+nNbOccurenceWSECL +" Occurrence") SI nNbOccurenceWSECL > 0 ALORS TableauSupprimeTout(TABSTInformationsEclusesEtSas) nIndiceTableau est un entier nIndiceOccurence est un entier POUR nIndiceOccurence = 1 _À_ nNbOccurenceWSECL nIndiceTableau = TableauAjoute(TABSTInformationsEclusesEtSas) SI nIndiceTableau<>-1 ALORS TABSTInformationsEclusesEtSas[nIndiceTableau].WSDateHeureActualisation = gdhDH_Dernière_Actu_InformationsEclusesEtSas nNbSousOccurenceSas = WS_getInformationsEclusesEtSasResponse.informationEcluse[nIndiceOccurence].sas..Occurrence Trace("Nb SousOccurrence SAS = "+nNbSousOccurenceSas) POUR nIndiceOccurenceSAS = 1 _À_ nNbSousOccurenceSas nIndiceTableausas est un entier = TableauAjoute(TABSTInformationsEclusesEtSas[nIndiceTableau].sas) SI nIndiceTableausas<> -1 ALORS TABSTInformationsEclusesEtSas[nIndiceTableau].sas[nIndiceTableausas].IdSas = WS_getInformationsEclusesEtSasResponse.informationEcluse[nIndiceOccurence].sas[nIndiceOccurenceSAS].idSas FIN FIN SINON SI gbOS_AffichageDialErreur ALORS Erreur("Erreur d'ajout d'un élément dans le tableau !") FIN FIN FIN
Avez-vous déjà rencontré ce genre de problème ? Mon approche est-elle la bonne ou bien un bogue Windev mobile 23 ? Toute aide de votre part est la bienvenue.
Claude |
| |
| |
| | | |
|
| | |
| |
Posted on August, 31 2018 - 12:55 PM |
Bonjour à tous, j'en suis toujours au même point avec l'erreur de traitement de l'occurrence du résultat de la requête au webservice si celui-ci renvoi un tableau de structure incluant un autre tableau de structure. Le problème est uniquement sous Android, sous environnement de dev. ça fonctionne. J'ai ouvert un ticket au ST de PC-SOFT (avec un Prj Exemple), qui m'a transmis un correctif, mais il ne fonctionne pas ! J'attends donc une nouvelle réponse de leur part. De votre coté, avez vous déjà observé ce problème ? Et si oui, comment l'avez-vous résolut ? Pour le moment mon projet est au point mort, et ça commence à faire long.
Claude |
| |
| |
| | | |
|
| | |
| |
Posted on September, 03 2018 - 1:13 PM |
Bonjour à tous, Le problème a été résolu par le ST PC-SOFT avec un nouveau correctif. Comme quoi il s'agissait bien d'un problème Windev du framework pour Android.
Claude |
| |
| |
| | | |
|
| | |
| |
Posted on October, 19 2018 - 10:55 AM |
Bonjour,
j'ai un pb similaire. Savez-vous où l'on peut trouver le correctif ?
merci d'avance |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|