Paramètres optionnels dans ASP.NET service web
J'ai un ASP.NET service web. Ce service web fonctionne très bien. Cependant, le WSDL listes de certains paramètres facultatifs (minoccurs = 0) et d'autres comme non-facultative. Certains des paramètres facultatifs sont en fait pas une option, d'autres qui sont marqués comme non-optionnels sont en fait facultatif. J'aimerais résoudre ce problème, mais je ne trouve pas l'endroit où cette information est à venir.
Il me semble que tous les types primitifs (int, boolean, etc.) non facultatif et tous les autres paramètres sont marquées comme étant facultatives. Cependant, je ne peux pas trouver un endroit où je peux changer ça. Je tiens à spécifier des valeurs par défaut pour les valeurs primitives si elles sont manquantes dans la demande et de préciser les non-primitif paramètre est en fait facultatif. Où dois-je le faire?
OriginalL'auteur Thomas Lötzer | 2009-06-15
Vous devez vous connecter pour publier un commentaire.
Je suppose que quand vous dites ASP.net web services, création des services web avec ASMX extension. Je pense que ce qui se passe dans ce cas, c'est que tous les types nullables devenu facultatif et non nullable devenir non facultatif.
Vous pourriez peut-être modifier manuellement le fichier WSDL généré. Mais alors que vous auriez à refaire ce travail si le wsdl a été régénéré.
Je voudrais vous suggérer de passer à WCF avec basisHttpBinding (sauf pour le nom de votre service de vos clients ne devraient pas remarquer la différence).
En utilisant WCF vous pouvez simplement marquer le paramètre dans le contrat de données que nécessaire ou non:
la réponse est à partir de 2009, à l'époque, c'était ce qui était disponible.
Rien de mal à cela. Juste mettre à jour votre réponse et tout va bien de nouveau.
OriginalL'auteur Shiraz Bhaiji
Les primitives ne sont pas référence types, mais plutôt qu'ils sont valeur types. Vous pouvez faire un valeur type "nullable" un couple de façons.
Court-main est
ou à la main ici
OriginalL'auteur Greg Ogle