Partager via


Étapes de création 4 : Définir le type de contenu externe Address

Dernière modification : vendredi 16 avril 2010

S’applique à : SharePoint Server 2010

À son niveau de base, un type de contenu externe se compose d’un titre (défini dans l’élément Properties), d’un identificateur unique (équivalant à une clé primaire) et de méthodes servant à définir les champs d’une entité et à indiquer au Service BDC (Business Data Connectivity) comment extraire les données du système externe.

Dans le cas des bases de données, une méthode BDC contient un élément Properties qui définit la requête de base de données, un élément Parameters qui définit les données renvoyées par la requête et un élément MethodInstances qui définit les différentes manières d’appeler la méthode. En revanche, dans le cas des services Web, une méthode décrit la méthode Web qui doit être appelée pour obtenir les données souhaitées. Le nom de la méthode doit correspondre au nom de la méthode Web et l’élément Parameters définit les données renvoyées par la méthode Web ; un élément MethodInstances définit les différentes manières d’appeler la méthode. Tous les noms et types doivent correspondre aux noms et aux types dans le proxy des services Web.

Au cours de cette étape, vous allez définir un type de contenu externe nommé Address. L’entité Address dans le proxy SampleWebService illustre un scénario dans lequel il est acceptable de ne pas définir d’identificateur pour l’entité. Cela est dû au fait que nous souhaitons simplement afficher une liste d’adresses pour un client, sans rechercher ou afficher d’adresses uniques. Sans identificateur, le service BDC traite les adresses renvoyées par le système externe comme un simple blob de données ; vous ne pouvez pas exécuter d’actions sur ce type de contenu externe, utiliser le sélecteur d’instance d’entité, associer des adresses à un autre type de contenu externe, ou rechercher ou analyser les données externes.

Ce type de contenu externe illustre également la prise en charge de la mise en forme complexe par le service BDC. Vous pouvez utiliser la fonctionnalité de mise en forme complexe pour afficher la structure d’adresse d’une manière mise en forme, telle que « Rue, Arrondissement, Ville, État - Code postal, Pays ».

Conditions requises

Étapes de création 3 : définir l’instance LobSystem

Pour définir le type de contenu externe Address

  1. Ajoutez le code XML du type de contenu externe Address après l’élément LobSystemInstances. Ce code XML définit le titre du type de contenu externe et une méthode pour renvoyer des adresses.

    Notes

    La méthode GetAddresses définie ici est « factice » ; elle n’existe pas dans le service Web. La définition de cette méthode dans le code XML se justifie simplement par la limitation actuelle du service BDC qui impose que toutes les entités aient une méthode Finder.

    <Entities>
      <Entity Namespace="SampleWebService" Version="1.1.0.0" 
              EstimatedInstanceCount="10000" Name="WSAddress" 
              DefaultDisplayName="WSAddress">
        <Methods>
          <Method IsStatic="false" Name="GetAddresses">
            <Parameters>
              <Parameter Direction="In" Name="id">
                <TypeDescriptor TypeName="System.String" 
                                IdentifierName="CustomerID" 
                                Name="id" 
                                DefaultDisplayName="CustomerID" />
              </Parameter>
              <Parameter Direction="Return" Name="Addresses">
                <TypeDescriptor 
                  TypeName="BCSServiceProxy.CustomerAddress[], http://air-mail/WSOrders2010/service.asmx?wsdl" 
                  IsCollection="true" Name="CustomerAddresses">
                  <TypeDescriptors>
                    <TypeDescriptor 
                      TypeName="BCSServiceProxy.CustomerAddress, http://air-mail/WSOrders2010/service.asmx?wsdl" 
                      Name="CustomerAddressesElement">
                      <Properties>
                        <Property Name="ComplexFormatting" Type="System.String" />
                        <Property Name="FormatString" Type="System.String">
                          {0}, {1}, {2}, {3} - PostalCode, {4}
                        </Property>
                      </Properties>
                      <TypeDescriptors>
                        <TypeDescriptor 
                          TypeName="BCSServiceProxy.CustomerStreet, http://air-mail/WSOrders2010/service.asmx?wsdl" 
                          Name="Street">
                          <TypeDescriptors>
                            <TypeDescriptor TypeName="System.String" 
                                            Name="BlockNumber" />
                            <TypeDescriptor TypeName="System.String" 
                                            Name="Street" />
                          </TypeDescriptors>
                        </TypeDescriptor>
                        <TypeDescriptor TypeName="System.String" 
                                        Name="City" />
                        <TypeDescriptor 
                          TypeName="BCSServiceProxy.States, http://air-mail/WSOrders2010/service.asmx?wsdl" 
                          Name="StateProvince" />
                        <TypeDescriptor TypeName="System.String" 
                                        Name="CountryRegion" />
                        <TypeDescriptor TypeName="System.String" 
                                        Name="PostalCode" />
                      </TypeDescriptors>
                    </TypeDescriptor>
                  </TypeDescriptors>
                </TypeDescriptor>
              </Parameter>
            </Parameters>
            <MethodInstances>
              <Association Name="GetAddressesForCustomer" 
                           Type="AssociationNavigator" 
                           ReturnParameterName="Addresses" 
                           DefaultDisplayName="Customer Addresses Navigate Association">
                <SourceEntity Namespace="SampleWebService" Name="WSCustomer" />
                <DestinationEntity Namespace="SampleWebService" Name="WSAddress" />
              </Association>
            </MethodInstances>
          </Method>
        </Methods>
      </Entity>
    </Entities>
    
  2. Enregistrez le fichier XML.

Étapes suivantes

Étapes de création 5 : définir le type de contenu externe Customer