Mappage des règles pour les services Web. SAP BusinessObjects
</complexType>
<key name="custkey">
<selector xpath="GetCustomerListReturn"/>
<field xpath="@ID"/>
</key>
</element>
</schema>
</wsdl:types>
<wsdl:message name="GetCustomerListByCountryRequest">
<wsdl:part name="request" element="impl:GetCustomerListByCountry"></ wsdl:part>
</wsdl:message>
<wsdl:message name="GetCustomerListByCountryResponse">
<wsdl:part name="response" element="impl:GetCustomerListResponse"></ wsdl:part>
</wsdl:message>
<wsdl:portType name="CustomerType">
<wsdl:operation name="GetCustomerList">
<wsdl:documentation>Gets Information on ClubDemo Customers</ wsdl:documentation>
<wsdl:input message="impl:GetCustomerListByCountryRequest"/>
<wsdl:output message="impl:GetCustomerListByCountryResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GetCustomer" type="impl:CustomerType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetCustomerList">
<soap:operation soapAction="http://ws.myexample.com/ClubDemo/" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CustomerService">
<wsdl:port name="Customer" binding="impl:GetCustomer">
<soap:address location="http://ws.myexample.com/ClubDemo/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
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.
110
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
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/GetCustomerListResponse/
GetCustomerListReturn
● GetCustomerList/GetCustomerListByCountryResponse/GetCustomerListResponse/
GetCustomerListReturn/Name
● GetCustomerList/GetCustomerListByCountryResponse/GetCustomerListResponse/
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.
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
111
Dans les exemples suivants, la colonne GetCustomerListByCountryRequest/GetCustomerListByCountry 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/
GetCustomerListResponse sont les suivantes :
● -id
● GetCustomerListByCountryRequest/GetCustomerListByCountry
Exemple
Les colonnes de la table GetCustomerList/GetCustomerListByCountryResponse/
GetCustomerListResponse/GetCustomerListReturn sont les suivantes :
● Age
● Adresse
● ZIP
● Ville
● Country/@name
● @ID
● -GetCustomerListResponse/-id
● GetCustomerListByCountryRequest/GetCustomerListByCountry
Exemple
Les colonnes de la table GetCustomerList/GetCustomerListByCountryResponse/
GetCustomerListResponse/GetCustomerListReturn/Name sont les suivantes :
● -id
● Nom
● @type
● -GetCustomerListReturn/@ID
● GetCustomerListByCountryRequest/GetCustomerListByCountry
Exemple
Les colonnes de la table GetCustomerList/GetCustomerListByCountryResponse/
GetCustomerListResponse/GetCustomerListReturn/Invoice sont les suivantes :
● -id
● Invoice
● -GetCustomerListReturn/@ID
● GetCustomerListByCountryRequest/GetCustomerListByCountry
112
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide d'accès aux données
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/
GetCustomerListResponse 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/
GetCustomerListByCountryResponse/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]"/>
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
113

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