Partager via


Procédure : spécifier une valeur par défaut pour un paramètre de type System.DateTime

Certaines méthodes ont des signatures complexes. Par exemple, le service Web permettant d'obtenir les clients SAP peut utiliser six paramètres, dont trois qui peuvent être des structures comportant des paramètres secondaires. Pour faciliter la tâche des utilisateurs qui appellent ces méthodes, le catalogue de données métiers vous permet de spécifier des valeurs par défaut pour des paramètres dans les métadonnées. De cette manière, les utilisateurs peuvent appeler la logique métier prédéfinie sans s'occuper de la création des paramètres.

L'utilisateur peut remplacer n'importe quel paramètre d'entrée pour lequel vous définissez une valeur DefaultValue. L'utilisateur doit spécifier tous les paramètres d'entrée qui n'ont pas de valeur DefaultValue si ces paramètres sont obligatoires.

Pour chaque type primitif abstrait d'un objet TypeDescriptor, vous pouvez définir plusieurs valeurs par défaut, chacune correspondant à un objet MethodInstance particulier. Au moment de l'exécution, selon l'objet MethodInstance que le client exécute, une instance du paramètre est créée en fonction des valeurs par défaut correspondantes.

La rubrique DefaultValue répertorie les formats acceptés permettant de fournir les valeurs par défaut pour différents types. Comme indiqué dans cette rubrique, pour fournir les valeurs par défaut pour les méthodes Web qui ont des paramètres d'entrée de type System.DateTime, vous devez passer la valeur sous la forme d'une chaîne dans le format DateTimeFormatInfo.UniversalSortableDateTimePattern. Le code suivant est un exemple.

Notes

Si vous utilisez un format DateTime incorrect dans la valeur par défaut, vous obtenez une erreur lorsque vous importez le fichier de définition d'application : Impossible d'analyser la valeur par défaut pour le type « System.datetime ». Assurez-vous que le format est correct et n'utilisez pas de guillemets autour la valeur.

Exemple

<DefaultValues>
    <DefaultValue MethodInstanceName="InvoiceFinderInstance" 
       Type="System.DateTime">2007-01-11 00:00:00Z
    </DefaultValue>
</DefaultValues>