Cast Iron 커넥터 인터페이스
Cast Iron 커넥터는 오케스트레이션으로 구현되는 표준 인터페이스입니다(예: TestConnection, ListObjects 및 DescribeObjects).
TestConnection, ListObjects 및 DescribeObjects 인터페이스에 대한 오케스트레이션 템플리트는 활동 추가 단계에서 마법사에 의해 자동으로 작성됩니다. 개별 커넥터 요구사항을 기반으로 오케스트레이션을 완료해야 합니다. 이 절에서는 TestConnection, ListObjects 및 DescribeObjects 인터페이스에 대해 소개합니다. 커넥터 인터페이스 오케스트레이션 완료에서 각각에 대한 오케스트레이션을 완료합니다.
TestConnection
TestConnection 인터페이스는 연결 정보 창에 추가된 값을 반영하고 커넥터가 엔드포인트 연결을 구축하는 데 사용됩니다. 연결이 작성되면 연결 상태가 부울 연산자로 리턴됩니다.
ListObjects
ListObjects 인터페이스는 활동 추가 창에 추가된 값을 반영하고
특정 커넥터 활동이 지원하는 모든 오브젝트 목록을 리턴합니다.
예를 들어
Salesforce 작성 조작이 계정, 고객, 담당자, 기회 및 사용자와 같은 오브젝트를 지원할 수 있습니다.
리턴 목록은 ListObjects 응답 활동 스키마에 해당해야 합니다.
다음은 XML 형식의 ListObjects 응답 예입니다.
<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
DescribeObjects 인터페이스는 사용자가 커넥터 활동을 통해 노출된 오브젝트를 사용하여 작업할 수 있는 입력 및 출력을 제공합니다.
예를 들어 Salesforce 작성 조작이 선택되면
ListObjects에서 선택된 오브젝트를 기반으로 하여 입력 스키마가 동적으로 발견됩니다.
다음은 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>
동적 스키마 발견
DescribeObjects 스키마 발견 기능을 사용하여 런타임 시 스키마를 동적으로 발견합니다.
커넥터 활동이 스키마 요소를 입력 또는 출력으로 사용할 때 이 스키마를 오케스트레이션으로 가져옵니다.
complexType QName을 사용하여 이전에 가져온 스키마를 발견하고
이를 입력 또는 출력 활동으로 동적으로 대체해야 할 경우
다음 스키마에서와 같이
DescribeObject 응답에서 속성을 설정하십시오.
< 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 >
예를 들어 앞의 스키마에서 complexType tradingPartner를 대체하려면 스키마를 발견할 정보를 설정하고 다음 예에서 표시된 대로 이를 동적으로 대체하십시오.
DescribeObject Response value to
@name -> tradingPartner [complexType name to be discovered]
@typeNS -> url.sample.stock [complexType namespace ]
@baseType -> http://www.approuter.com/schemas/cdk/api/ [CDK default]
@baseType -> cObject [CDK default]
