FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
[WM23] Android - Webservice ..Occurence sous structure
[WM23] Android - Webservice ..Occurence sous structure
Débuté par Claude, 11 aoû. 2018 15:51 - 4 réponses
Connectez-vous…
Claude
#1
Posté le 11 août 2018 - 15:51
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
)
n
NbOccurenceWSECL
=
WS_
getInformationsEclusesEtSasResponse.informationEcluse
..
Occurrence
Trace
(
"WS = getInformationsEclusesEtSas : "
+
n
NbOccurenceWSECL
+
" Occurrence"
)
SI
n
NbOccurenceWSECL
>
0
ALORS
TableauSupprimeTout
(
TABSTInformationsEclusesEtSas
)
n
IndiceTableau
est un entier
n
IndiceOccurence
est un entier
POUR
n
IndiceOccurence
=
1
_À_
n
NbOccurenceWSECL
n
IndiceTableau
=
TableauAjoute
(
TABSTInformationsEclusesEtSas
)
SI
n
IndiceTableau
<
>
-
1
ALORS
TABSTInformationsEclusesEtSas
[
n
IndiceTableau
]
.
WSDateHeureActualisation
=
gdh
DH_Dernière_Actu_InformationsEclusesEtSas
// ...
n
NbSousOccurenceSas
=
WS_
getInformationsEclusesEtSasResponse.informationEcluse
[
n
IndiceOccurence
]
.
sas
..
Occurrence
// <= l'erreur se produit ici
Trace
(
"Nb SousOccurrence SAS = "
+
n
NbSousOccurenceSas
)
POUR
n
IndiceOccurenceSAS
=
1
_À_
n
NbSousOccurenceSas
n
IndiceTableausas
est un entier
=
TableauAjoute
(
TABSTInformationsEclusesEtSas
[
n
IndiceTableau
]
.
sas
)
SI
n
IndiceTableausas
<
> -
1
ALORS
TABSTInformationsEclusesEtSas
[
n
IndiceTableau
]
.
sas
[
n
IndiceTableausas
]
.
IdSas
=
WS_
getInformationsEclusesEtSasResponse.informationEcluse
[
n
IndiceOccurence
]
.
sas
[
n
IndiceOccurenceSAS
]
.
idSas
// ...
FIN
FIN
SINON
SI
gb
OS_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
Signaler
0
0
Claude
#2
Posté le 13 août 2018 - 17:36
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
)
n
NbOccurenceWSECL
=
WS_
getInformationsEclusesEtSasResponse.informationEcluse
..
Occurrence
Trace
(
"WS = getInformationsEclusesEtSas : "
+
n
NbOccurenceWSECL
+
" Occurrence"
)
SI
n
NbOccurenceWSECL
>
0
ALORS
TableauSupprimeTout
(
TABSTInformationsEclusesEtSas
)
n
IndiceTableau
est un entier
n
IndiceOccurence
est un entier
POUR
n
IndiceOccurence
=
1
_À_
n
NbOccurenceWSECL
n
IndiceTableau
=
TableauAjoute
(
TABSTInformationsEclusesEtSas
)
SI
n
IndiceTableau
<
>
-
1
ALORS
TABSTInformationsEclusesEtSas
[
n
IndiceTableau
]
.
WSDateHeureActualisation
=
gdh
DH_Dernière_Actu_InformationsEclusesEtSas
// ...
n
NbSousOccurenceSas
=
WS_
getInformationsEclusesEtSasResponse.informationEcluse
[
n
IndiceOccurence
]
.
sas
..
Occurrence
// <= l'erreur sous Android se produit ici
Trace
(
"Nb SousOccurrence SAS = "
+
n
NbSousOccurenceSas
)
POUR
n
IndiceOccurenceSAS
=
1
_À_
n
NbSousOccurenceSas
n
IndiceTableausas
est un entier
=
TableauAjoute
(
TABSTInformationsEclusesEtSas
[
n
IndiceTableau
]
.
sas
)
SI
n
IndiceTableausas
<
> -
1
ALORS
TABSTInformationsEclusesEtSas
[
n
IndiceTableau
]
.
sas
[
n
IndiceTableausas
]
.
IdSas
=
WS_
getInformationsEclusesEtSasResponse.informationEcluse
[
n
IndiceOccurence
]
.
sas
[
n
IndiceOccurenceSAS
]
.
idSas
// ...
FIN
FIN
SINON
SI
gb
OS_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
Signaler
0
0
Claude
#3
Posté le 31 août 2018 - 12:55
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
Signaler
0
0
Claude
#4
Posté le 03 septembre 2018 - 13:13
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
Signaler
0
0
Régis ABRIAL
#5
Posté le 19 octobre 2018 - 10:55
Bonjour,
j'ai un pb similaire. Savez-vous où l'on peut trouver le correctif ?
merci d'avance
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte