Bonjour,
J'ai un web service créé sous Eclipse, avec une classe Test ou figurent deux attributs : un nommé index, de type int, et l'autre nommé nb de type String.
C'est deux attributs sont déclarés en private, et je passe donc par des get/set pour obtenir et modifier ces valeurs.
Je rencontre un petit problème lorsque j'essaie d'attribuer une valeur à l'attribut index (l'entier donc) depuis mon code C#.
Effectivement, quand je fais un :
... dans mon code java, ça ne passe jamais dans le setIndex.
Code : Sélectionner tout - Visualiser dans une fenêtre à part test.index = 2;
Pourtant, quand je fais un :
... dans java ça passe bien dans mon setNb !
Code : Sélectionner tout - Visualiser dans une fenêtre à part test.nb = "4";
Et par contre, je n'ai aucun soucis au niveau des get, j'arrive bien à récupérer les valeurs de mes attributs...
Voilà le code complet de ma classe Test (Java) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class Test { private int index; private String nb; public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public String getNb() { return nb; } public void setNb(String nb) { this.nb = nb; } public Test Read() { return this; } }
Et voici mon test au niveau du C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 private void button1_Click(object sender, EventArgs e) { Test test = new Test(); try { test.index = 2; test.nb = "4"; test = (Test)logiflexWS.action(test, "Read"); MessageBox.Show("Index = " + test.index + "\rnb = " + test.nb); } catch (Exception expt) { MessageBox.Show(expt.Message); } }
J'obtiens, après mon test :
index = 0
nb = 4
Alors que je devrais avoir index = 2.
Si vous voyez où est le problème... Parce que moi j'ai beau chercher, je ne comprend pas pourquoi l'affectation des attributs de type String fonctionne, et aucun autre type (j'ai essayé avec les int, mais aussi avec un short, même résultat...)
Merci d'avance !
Cordialement,
Damien
Partager