Mappage des règles pour les services Web. SAP BusinessObjects 4.1
Informations de référence sur le pilote d'accès aux données
6.6.4 Mappage des règles pour les services Web
Le pilote de services Web utilise les mêmes règles de mappage de table et de colonne que le pilote
XML. Il prend également en charge les règles suivantes spécifiques aux services Web.
Qualificateurs
La couche d'accès aux données peut se connecter à un service Web à la fois. Le service est mappé au qualificateur de base de données. Dans l'exemple ClubDemo, le nom du qualificateur est le nom du service
CustomerService
.
Propriétaires
L'attribut port est mappé au propriétaire de base de données. Dans cet exemple, le propriétaire est
Customer
.
Tables
Dans la couche d'accès aux données, chaque opération est représentée en tant qu'élément racine.
Chaque message de sortie représente un élément enfant d'une opération. Le pilote de services Web présente les messages de sortie sous forme de tables.
Les noms de table sont formés par concaténation des éléments suivants : noms de l'opération, du message de sortie et des éléments XML contenus dans la réponse, séparés par une barre oblique
/
).
Exemple :
Dans l'exemple ClubDemo, les tables sont les suivantes :
•
GetCustomerList/GetCustomerListByCountryResponse/GetCustomerListResponse
•
GetCustomerList/GetCustomerListByCountryResponse/GetCustomerListRespo nse/GetCustomerListReturn
•
GetCustomerList/GetCustomerListByCountryResponse/GetCustomerListRespo nse/GetCustomerListReturn/Name
•
GetCustomerList/GetCustomerListByCountryResponse/GetCustomerListRespo nse/GetCustomerListReturn/Invoice
Colonnes et colonnes d'entrée
Les règles de mappage XML définies pour les colonnes s'appliquent aussi aux services Web.
Le pilote de services Web accepte uniquement les tables possédant une seule ligne en tant que messages d'entrée. Chaque entrée de cette table est mappée à une colonne d'entrée de la table de résultats. Le pilote mappe tous les messages d'entrée, même s'ils sont définis comme facultatifs dans le document WSDL.
Restriction :
Le pilote ne prend pas en charge les éléments any et anyAttribute dans les colonnes d'entrée.
112 2013-06-29
Informations de référence sur le pilote d'accès aux données
Dans les exemples suivants, la colonne
GetCustomerListByCountryRequest/GetCustomerLi stByCountry est une colonne d'entrée. Les autres noms de colonne résultent des règles de mappage des éléments XML. Pour en savoir plus, voir la section relative au pilote XML.
Exemple :
Les colonnes de la table
GetCustomerList/GetCustomerListByCountryResponse/GetCus tomerListResponse sont les suivantes :
•
-id
•
GetCustomerListByCountryRequest/GetCustomerListByCountry
Exemple :
Les colonnes de la table
GetCustomerList/GetCustomerListByCountryResponse/GetCus tomerListResponse/GetCustomerListReturn sont les suivantes :
•
Age
•
Adresse
•
ZIP
•
Ville
•
Country/@name
•
@ID
•
-GetCustomerListResponse/-id
•
GetCustomerListByCountryRequest/GetCustomerListByCountry
Exemple :
Les colonnes de la table
GetCustomerList/GetCustomerListByCountryResponse/GetCus tomerListResponse/GetCustomerListReturn/Name sont les suivantes :
•
-id
•
Nom
•
@type
•
-GetCustomerListReturn/@ID
•
GetCustomerListByCountryRequest/GetCustomerListByCountry
Exemple :
Les colonnes de la table
GetCustomerList/GetCustomerListByCountryResponse/GetCus tomerListResponse/GetCustomerListReturn/Invoice sont les suivantes :
•
-id
•
Invoice
•
-GetCustomerListReturn/@ID
•
GetCustomerListByCountryRequest/GetCustomerListByCountry
113 2013-06-29
Informations de référence sur le pilote d'accès aux données
Clés primaires et clés étrangères
Les règles de mappage XML définies pour les clés primaire et étrangère s'appliquent aussi aux services
Web. En outre, une colonne d'entrée fait toujours partie de la définition d'une clé primaire.
Restriction :
Bien que les fondations de données présentent des clés étrangères, le pilote de services Web ne prend pas en charge les opérations JOIN.
Exemple : Clés primaires
La colonne
-id de la table
GetCustomerList/GetCustomerListByCountryResponse/GetCu stomerListResponse est générée car le schéma ne définit aucune clé primaire.
Le schéma définit une clé primaire explicite pour la colonne
@ID de la table
GetCustomerList/Get
CustomerListByCountryResponse/GetCustomerListResponse/GetCustomerListReturn
.
La colonne d'entrée
GetCustomerListByCountryRequest/GetCustomerListByCountry est utilisée comme clé primaire.
Exemple : Clés étrangères
Les colonnes
-GetCustomerListResponse/@ID et
-GetCustomerListReturn/@ID sont conçues à partir du chemin d'accès inverse de la table parent et la clé primaire de la table parent.
Types de tableaux de données
Les services Web prennent en charge les types de données au format d'un tableau créé à partir d'une série de types primitifs ou complexes. Un élément de ce type est mappé à une table composée d'une seule ligne. Il est mappé sous forme de nom de colonne ou de table sous la forme :
-arrayElement
.
Le type des données du tableau ne définit pas le nom de l'élément et accepte n'importe quel nom.
Pour en savoir plus, voir le lien ci-dessous.
Exemple : Types de tableaux de données
arrayType="xsd:int[2]" est un type de données d'un élément possédant deux occurrences et dont la valeur est un nombre entier. Par exemple, le type complexe suivant s'applique à l'élément
CustomerIDs et le définit en tant que parent d'un élément
CustomerID qui accepte les valeurs de nombres entiers :
<complexType name="ArrayOfIntegers">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[2]"/>
</restriction>
</complexContent>
</complexType>
<element name="CustomerIDs" type="ArrayOfIntegers">
<CustomerID>103</CustomerID>
<CustomerID>204</CustomerID>
</element>
114 2013-06-29

公開リンクが更新されました
あなたのチャットの公開リンクが更新されました。