如何:为输入中包括集合的 Web 方法建模

假定您有一种 Web 方法将集合作为输入参数之一;例如 Customer[] GetCustomers(String[] ReturnFields)。根据设计,Microsoft Office SharePoint Server 2007 中的业务数据目录只将集合中的第一个项目作为输入参数的值。它会忽略集合中的其他项目 - 即使您将输入参数 Customers[] 定义为集合也是如此。

不过,您可能要使用比如 Name 和 Address 来调用以上 Web 方法。在这种情况下,您应该为每个返回字段建模,作为 ReturnFieldsTypeDescriptor 的子 TypeDescriptor,并将父 TypeDescriptor 的 IsCollection 设置为 false,如以下代码所示。

备注

在建模时,您必须知道所需的返回字段的确切数量。

示例

<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>