Deprecated feature

requête Get et réponse Show

Les requêtes Get sont des requêtes de données qui utilisent le verbe Get et renvoient une réponse Show. Le verbe Get fournit les critères de recherche utilisés pour l'extraction des objets métier ainsi que les options de pagination des requêtes paginées. La réponse Show inclut les objets métier correspondant au critères de recherche.

Expressions de recherche pour requête de service Get

Conformément au modèle OAGIS pour les requêtes de lecture, la pratique optimale consiste à représenter chacune de ces requêtes par un document Get Noun dans lequel Get désigne l'action à exécuter et le nom (Noun) l'objet ou les objets métier à renvoyer. En réponse à la requête Get, le document Show est renvoyé avec les données requises.

Les expressions de recherche sont des expressions XPath représentant une requête vis à vis du nom correspondant pour indiquer les données à renvoyer. L'extension de la syntaxe XPath fournit un moyen de transmettre des informations de contrôle afin d'indiquer le volume d'informations à renvoyer, leur classement et des informations de contrôle sur les autres résultats de la recherche.

Les requêtes de lecture utilisent des expressions XPath pour définir les données de réponse à renvoyer.

Profil d'accès

Un profil d'accès peut être utilisé pour cibler les données de réponse. Vous pourriez , par exemple, vouloir renvoyer une vue spécifique des données (comme une vue de la recherche d'une entrée de catalogue) ou bien les données dans toutes les langues pour des besoins de création. Dans l'extension de la syntaxe XPath, la paire nom-valeur du profil d'accès doit précéder, entourée d'accolades ({}), l'expression XPath . Vous devez toujours spécifier le profil d'accès. Pour plus d'informations, voir HCL Commerce notation XPath étendue.


{_wcf.ap=$accessProfile$}/CatalogGroup[Name='MyCatalogGroupName']

Pagination du résultat

Dans certains cas, les résultats doivent être paginés de sorte à ce que la requête de service ne renvoie qu'un sous-ensemble des données correspondant aux critères. Pour pouvoir contrôler le nombre d'enregistrements à renvoyer, le verbe GET comporte des attributs de pagination servant à indiquer le nombre d'enregistrements à renvoyer et à partir de quel endroit dans la liste des informations. L'attribut maxItems sert à indiquer le nombre d'éléments de données renvoyés par la requête et recordSetStartNumber détermine l'index de départ à partir duquel commencer à renvoyer des informations depuis le jeu d'enregistrements.

Dans le cas d'expressions de recherche où le nombre de résultats renvoyés n'est pas égal au nombre de résultats possibles de la requête, le message de réponse Show renseignera l'attribut recordSetReferenceId. Cet attribut peut être utilisé comme clé par le client afin d'identifier de manière unique la requête et éviter par la suite d'effectuer la recherche complète. recordSetReferenceId est une clé unique associée à la recherche et valide uniquement avant un délai d'expiration dépendant de l'implémentation de la façade du composant. Le consommateur du service peut utiliser cet identificateur pour indiquer à l'implémentation de la façade du composant d'extraire les résultats présents dans le cache au lieu d'exécuter à nouveau l'expression de recherche qui ne renverrait qu'une page différente avec les mêmes résultats.

Attribut Get Signification
maxItems Nombre d'éléments maximal à renvoyer.
recordSetStartNumber Index de départ pour l'extraction de résultats depuis le jeu de résultats.
recordSetReferenceId S'il s'agit d'une suite à une requête existante, transmet l'ID de référence afin d'extraire le jeu de résultats depuis le cache.
Attribut Show Signification
recordSetStartNumber Index de départ des résultats renvoyés dans ce message.
recordSetCount Nombre d'enregistrements renvoyés dans ce message depuis le jeu de résultats.
recordSetTotal Nombre de résultats total dans le jeu de résultats.
recordSetCompleteIndicator Indique si vous êtes parvenu à la fin du jeu de résultats.
recordSetReferenceId Identificateur interne du jeu de résultats de sorte à ce qu'il puisse être résolu lors d'une requête ultérieure.

Ci-dessous figure un exemple de la réponse du verbe Show et du verbe Get suivant pour l'extraction des 10 éléments suivants de la requête. Suite à la réponse Show, recordSetReferenceId est renseigné, ainsi que le nombre d'enregistrements renvoyés par la requête et le nombre d'enregistrements inclus dans le message de réponse actuel. La requête GET précédente peut utiliser la clé recordSetReferenceId pour extraire la page d'enregistrements suivante sans que le serveur n'ait à réexécuter la requête.

<oa:Get maxItems="10" recordSetStartNumber="10"
  recordSetReferenceId="ABCD-1234-WXYZ">
  <oa:Expression expressionLanguage="_wcf:XPath">
   
{_wcf.ap=$accessProfile$}/CatalogGroup[Name='MyCatalogGroupName]
  </oa:Expression>
</oa:Get>

<oa:Show
  recordSetCompleteIndicator="true"
recordSetReferenceId="ABCD-1234-WXYZ"
  recordSetTotal="101" recordSetCount="10"
recordSetStartNumber="10">

Pagination pour les noms complexes

OAGIS ne prend en charge la pagination qu'au niveau du nom. La couche service de données et les composants SOI ne prennent pas en charge la pagination sur les sous-noms. Cependant, comme des noms peuvent être inclus dans des noms (dénommés alors sub nouns), ils doivent également être paginés (par exemple, OrderItem, dans le nom Order) dans le composant Order.