Interfaces de connecteur Cast Iron

Les connecteurs Cast Iron utilisent trois interfaces standard qui sont mises en oeuvre en tant qu'orchestrations : TestConnection, ListObjects et DescribeObjects.

Des modèles d'orchestration pour les interfaces TestConnection, ListObjects et DescribeObjects sont automatiquement créés par l'assistant lors de la phase Ajout d'activités. Vous devez terminer les orchestrations en fonction des besoins de chaque connecteur. Cette section présente les interfaces TestConnection, ListObjects et DescribeObjects. Dans Finalisation des orchestrations de l'interface de connecteur, vous exécutez une orchestration pour chaque interface.

TestConnection

L'interface TestConnection reflète les valeurs que vous avez ajoutées à la fenêtre Informations de connexion. Elle est utilisée par le connecteur pour établir une connexion de noeud final. Une fois cette connexion établie, son statut est renvoyé sous la forme d'un opérateur booléen.

ListObjects

L'interface ListObjects reflète les valeurs que vous avez ajoutées à la fenêtre Ajout d'activités et renvoie une liste de tous les objets pris en charge par une activité de connecteur donnée. Une opération de création de la force de vente peut par exemple prendre en charge des objets tels que Compte, Client, Contact, Opportunité et Utilisateur, entre autres. La liste renvoyée doit correspondre à un schéma Activité de réponse ListObjects. Un exemple de réponse ListObjects au format XML est présenté ci-dessous :
<ListObjectsResponse
xmlns="http://www.approuter.com/schemas/cdk/api/">
<objectType
label="Customer"
xmlns="http://www.approuter.com/schemas/cdk/api/">Account</objectType>
<objectType
label="Account Object"
xmlns="http://www.approuter.com/schemas/cdk/api/">Customer</objectType>
<objectType
label="Customer details"
xmlns="http://www.approuter.com/schemas/cdk/api/">Contact</objectType>
<objectType
label="Opportunity details"
xmlns="http://www.approuter.com/schemas/cdk/api/">Opportunity</objectType>
<objectType
label="User details"
xmlns="http://www.approuter.com/schemas/cdk/api/">User</objectType>
</ListObjectsResponse>

DescribeObjects

L'interface DescribeObjects fournit les données d'entrée et de sortie qui permettent aux utilisateurs d'utiliser un objet exposé via une activité de connecteur. Si, par exemple, une opération de création de la force de vente est sélectionnée, le schéma d'entrée est reconnu de manière dynamique en fonction d'un objet sélectionné dans ListObjects. Voici un exemple de réponse renvoyée par DescribeObjects :
<DescribeObjectResponse baseType="sObject" 
  baseTypeNS="urn:sobject.partner.soap.sforce.com" 
	name="create" typeNS="http://example.com/stockquote" 
	xmlns="http://www.approuter.com/schemas/cdk/api/"
	xmlns:con="http://www.approuter.com/schemas/cdk/config/" 
  xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" >
	<object label="createInput" maxCount="1" minCount="1" name="createInput"
		used="true">
		<con:field configurable="true" label="ObjectName" maxCount="1"
			minCount="1" name="ObjectName" used="true">
			<con:type>string</con:type>
		</con:field>
		<con:field configurable="true" label="FirstName" maxCount="1"
			minCount="1" name="FirstName" used="true">
			<con:type>string</con:type>
		</con:field>
		<con:field configurable="true" label="LastName" maxCount="1"
			minCount="1" name="LastName" used="true">
			<con:type>string</con:type>
		</con:field>
		<con:field configurable="true" label="Phone" maxCount="1"
			minCount="1" name="Phone" used="true">
			<con:type>string</con:type>
		</con:field>
	</object>
	<responseObject label="createOutput" maxCount="1"
		minCount="1" name="createOutput" used="true">
		<con:field configurable="true" label="Id" maxCount="1"
			minCount="1" name="Id" used="true">
			<con:type>string</con:type>
		</con:field>
		<con:field configurable="true" label="ObjectName" maxCount="1"
			minCount="1" name="ObjectName" used="true">
			<con:type>string</con:type>
		</con:field>
		<con:field configurable="true" label="Status" maxCount="1"
			minCount="1" name="Status" used="true">
			<con:type>string</con:type>
		</con:field>
	</responseObject>
</DescribeObjectResponse> 

Reconnaissance dynamique de schéma

La fonction de reconnaissance dynamique de schémaDescribeObjects permet d'effectuer la reconnaissance dynamique d'un schéma au moment de l'exécution. Le schéma est importé dans votre orchestration lorsqu'une activité de connecteur utilise un élément de schéma en tant qu'entrée ou sortie. Si des schémas importés précédemment doivent être reconnus via complexType QName et remplacés dynamiquement en tant qu'activités d'entrée ou de sortie, spécifiez les attributs dans la réponse DescribeObject comme illustré dans le schéma suivant :
< xsd:schema   targetNamespace = " urn.sample.stock
 " xmlns:xsd = "http://www.w3.org/2001/XMLSchema" >
 < xsd:element   name = "TradePriceRequest" >
 < xsd:complexType >
 < xsd:all >
 < xsd:element   name = "tickerSymbol"   type = "xsd:string"   />
 </ xsd:all >
 </ xsd:complexType >
 </ xsd:element >
 < xsd:complexType   name = "ciObject" ></ xsd:complexType >
 < xsd:complexType   name = " tradingPartner " >
 < xsd:sequence >
 < xsd:element   name = "partnerName"   type = "xsd:string"   />
 </ xsd:sequence >
 </ xsd:complexType >  

Par exemple, pour remplacer le complexType tradingPartner dans le schéma ci-dessus, définissez les informations afin de reconnaître le schéma et de le remplacer dynamiquement comme dans l'exemple suivant :

Valeur de réponse DescribeObject : 
@name   -> tradingPartner [nom complexType objet de la reconnaissance]
@typeNS  ->  url.sample.stock [espace de nom complexType]
@baseType -> http://www.approuter.com/schemas/cdk/api/    [valeur CDK par défaut]
@baseType -> cObject [valeur CDK par défaut]
Exemple de menu de description d'objets