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
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.
|
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>
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.
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 :
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. |