Bonjour
Je réalise régulièrement un WebService qui effectue une requête dans une BDD et retourne son contenu.
J'utilise un type complexe pour la requête et un autre type complexe pour le résultat. Les attribut sont les nom des colonnes de la base.
En gros sur une base personne ça donne ça.
J’ai un peu alléger les classes. Mais en gros je réécris toujours les mêmes types. Et je souhaiterai rendre le webservice générique en lui donnant une liste de colonne. J’éviterai de réécrire des classes requêtes et réponses.
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 public ResultatPersonne getData(RequetePersonne req){ ... } public class ResultatPersonne{ public int nbResultat; //Champs propre à la base public string[] nom; public string[] prenom; } public class RequetePersonne{ //Champs propre à la base public string[] nom; public string[] prenom; }
Je ne peux pas utiliser de Dictionnaire pour l'interface client car le but est que le client puisse accéder aux structures proprement. Il ne dois pas avoir à remplir des dictionnaires ni a les lires (pas super propre en plus).
Ma question est donc: En jouant avec le Binding puis-je avoir une interface dans le WSDL différente de la structure derrière?
En gros le Webservice utiliserait des dicos mais pour le client ce serait des structures complexes. On générerai une classe en utilisant la réflexivité.
Merci d'avance.
Partager