Procédure : modéliser des méthodes Web avec des collections en entrée
Supposons une méthode Web qui prend une collection en tant que l'un de ses paramètres d'entrée, par exemple, Customer[] GetCustomers(String[] ReturnFields)
. De par sa conception, le catalogue de données métiers dans Microsoft Office SharePoint Server 2007 prend uniquement le premier élément de la collection comme valeur pour le paramètre d'entrée. Il ignore le reste des éléments de la collection, même si vous définissez le paramètre d'entrée Customers[] en tant que collection.
Toutefois, vous souhaiterez appeler la méthode Web ci-dessus avec par exemple, les éléments Name et Address. Dans ce cas, vous devez modéliser chaque champ de retour en tant que TypeDescriptor enfant du TypeDescriptorReturnFields et définir IsCollection sur le TypeDescriptor parent par la valeur false, comme le montre le code suivant.
Notes
Vous devez connaître, au moment de la modélisation, le nombre exact de champs de retour susceptibles de vous intéresser.
Exemple
<Parameter Direction="In" Name="ReturnFields"
<TypeDescriptor Name="ReturnFields
TypeName="String[] IsCollection="false" ">
<TypeDescriptor Name="Name" TypeName="String">
</TypeDescriptor>
<TypeDescriptor Name="Address" TypeName="String">
</TypeDescriptor>
</TypeDescriptor>
</Parameter>