Activité Lire OData

Cette activité utilise l'URL OData ainsi que les paramètres de requête, la charge et les en-têtes http en entrée et crée une sortie fournissant les détails de l'objet utilisé, les détails de clé primaire et la charge si celle-ci est disponible. Cette sortie est utilisée dans le cadre de l'exécution de logique métier ainsi que d'autres activités dans l'orchestration.

Propriétés de configuration de l'activité Lire OData

Tableau 1. Propriétés du panneau de configuration
Nom de zone Description
Version d'OData La version d'OData à utiliser par cette activité. La même version doit être utilisée pour toutes les activités dans une orchestration unique. La seule version prise en charge est actuellement la version 4.0.
Sélectionner des données d'entrée Sélectionnez une des options définissant la façon dont la structure de données métier doit être fournie à l'activité Lire OData. L'API OData est créée en fonction de la ou les structures métier fournies.
  • Schéma XML existant : sélectionnez cette option pour rechercher un schéma existant disponible dans l'orchestration. Un seul objet peut être sélectionné à l'aide de cette option, ce qui signifie que l'API OData ne prend en charge qu'un seul objet de niveau supérieur. Cette option est utilisée si l'API OData doit être exposée par les orchestrations Cast Iron.
  • URL de noeud final (API OData) : sélectionnez cette option pour communiquer avec une application d'API OData externe. Dans ce cas, Cast Iron joue le rôle de client. L'URL racine de service de l'application externe doit être fournie. Cette option n'est pas prise en charge à partir de la version 7.5.1 et sera ajoutée dans les versions futures.
  • Nouveau schéma XML pour la prise en charge de plusieurs entités : sélectionnez cette option pour que plusieurs objets de niveau supérieur soient pris en charge dans l'API OData. Un schéma XML contenant un ou plusieurs éléments globaux doivent être collés dans la zone de texte fournie. Cette option est utilisée si l'API OData doit être exposée par les orchestrations Cast Iron. Par exemple, reportez-vous à l'exemple de schéma XML présenté ci-dessous.

Voici un exemple de schéma XML contenant des objets account et product :

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
 xmlns:ras="http://www.sample.com/xmlns/prod/sample"
 targetNamespace="http://www.sample.com/xmlns/prod/sample">
 <element name="account" type="ras:AccountObject"/>
 <element name="product" type="ras:ProductObject"/>
 <complexType name="AccountObject">
  <sequence maxOccurs="1" minOccurs="1">                       
        <element maxOccurs="1" minOccurs="0" name="accountId" type="int"/>                       
        <element maxOccurs="1" minOccurs="0" name="accountName" type="string"/>                       
        <element maxOccurs="1" minOccurs="0" name="valid" type="boolean"/>           
  </sequence>
 </complexType>
 <complexType name="ProductObject"> 
  <sequence maxOccurs="1" minOccurs="1">
   <element maxOccurs="1" minOccurs="1" name="pid" type="int"/>
   <element maxOccurs="1" minOccurs="0" name="productName" type="string"/>                       
   <element maxOccurs="1" minOccurs="0" name="description" type="string"/>                       
   <element maxOccurs="1" minOccurs="0" name="stock" type="int"/>           
  </sequence> 
 </complexType>
</schema>
Tableau 2. Mappage des propriétés d'entrée
Nom de zone Description
serviceName Il s'agit du nom de l'API ReST OData qui fera partie de l'URL. La valeur de cette propriété doit être identique à celle de la propriété "URL (chemin après le nom d'hôte)" dans le panneau Configurer de l'activité HTTP "Recevoir demande". Lorsqu'une URL portant ce nom (par exemple, http://host/serviceName) est sélectionnée, le document de service est fourni dans la réponse.
protocol Protocole pris en charge par votre API ReST OData. Cette valeur doit être paramétrée par défaut sur une des deux valeurs prises en charge (HTTP ou HTTPS).
host Hôte sur lequel l'API est en cours d'exécution. La valeur de cette propriété doit être mappée à partir de la sortie de l'activité HTTP "Recevoir demande".
method Méthode http de la demande. La valeur de cette propriété doit être mappée à partir de la sortie de l'activité HTTP "Recevoir demande".
uri URI de la demande http. La valeur de cette propriété doit être mappée à partir de la sortie de l'activité HTTP "Recevoir demande".
Accept Valeur de l'en-tête Accept. La valeur de cette propriété peut être paramétrée sur la valeur par défaut ou mappée à partir de la sortie de l'activité HTTP "Recevoir demande". Les valeurs prises en charge sont application/json et application/xml.
Content-Type Valeur de l'en-tête Content-Type. La valeur de cette propriété peut être paramétrée sur la valeur par défaut ou mappée à partir de la sortie de l'activité HTTP "Recevoir demande". Les valeurs prises en charge sont application/json et application/xml.
PrimaryKeys Zones à marquer comme clés primaires dans les structures de données métier sélectionnées. Cette propriété est un type de tableau de chaînes et peut prendre plusieurs valeurs pour la prise en charge de clés primaires composites.

La syntaxe des valeurs de zone est indiquée ci-dessous.

syntaxe : objectName:fieldName

Par exemple, pour le schéma fourni ci-dessus, les valeurs peuvent être account:accountId ou product:pid

readODataInputPayload Charge de demande OData à transmettre pour les méthodes http POST, PUT et PATCH. La valeur de cette propriété doit être mappée à partir de la propriété body de la sortie de l'activité HTTP "Recevoir demande".
readODataHttpHeadersInput Les propriétés peuvent être mappées à partir de la sortie d'en-tête de l'activité HTTP "Recevoir demande".

Certaines propriétés dans la réponse sont identiques à celles disponibles dans l'entrée. Les autres propriétés de mappage de sortie sont expliquées ci-dessous :

Tableau 3. Mappage des propriétés de sortie
Nom de zone Description
isMetadataDocumentRequest Lorsque cette propriété a pour valeur true, elle indique que l'appel de demande (/serviceName/$metadata) est destiné au document de métadonnées et que le document de métadonnées de réponse est disponible dans la propriété "metadataDocument"
metadataDocument Cette propriété contient le document de métadonnées lorsque l'appel /serviceName/$metadata est émis.
isServiceDocumentRequest Lorsque cette propriété a pour valeur true, elle indique que l'appel de demande (/serviceName) est destiné au document de service et que le document de service de réponse est disponible dans la propriété "serviceDocument"
serviceDocument Cette propriété contient le document de service lorsque l'appel /serviceName est émis.
resourcePath Cette propriété contient le chemin de l'URL de l'appel.
entities Cette propriété est de type tableau de chaînes et contient le(s) nom(s) de jeu d'entités demandés dans l'URL. Par exemple, si le nom de service (serviceName) est /test et que la structure de données métier sélectionnée est account (dans le schéma ci-dessus), l'URL permettant d'obtenir tous les détails de compte est http://hostname/test/accounts. Dans cet exemple, le nom du jeu d'entités est accounts.
fieldName Si la demande de nom de zone est présente dans une structure de données métier, le nom de la zone sera présent dans cette propriété. Par exemple, si l'URL demandée est http://hostname/test/accounts(5)/accountName, la valeur de fieldName sera accountName.
additionalpath Si l'URL de demande contient un jeton supplémentaire tel que $value ou $count, cette valeur sera présente dans cette propriété.
primaryKeys

Si l'URL de demande contient des clés primaires, cette information est présente dans cette zone.

Exemples d'URL :

http://hostname/test/accounts(5)

http://hostname/test/salesorder(orderid='so1',name='ask')

La structure primaryKeys va contenir le nom de zone, la valeur et le type de données de la clé primaire.

readODataHttpHeadersOutput Contient des informations d'en-tête envoyées dans le cadre de la demande.
readODataQueryParametersOutput Contient les paramètres de requête standard définis par OData ainsi que les éventuels paramètres de requête supplémentaires.
readODataOutputPayload Si la charge est envoyée dans le cadre de la demande (pour les opérations POST et PUT), la charge est analysée et renseignée dans la structure de données métier de la réponse.