Waiting for engine...
Skip to main content

Component Reference object

Use the Component Reference object to programatically retrieve and query all the components which use or are used by a specific component.

This object represents the functionality provided by the Show Where Used filter found in Component Explorer of the service. You can use this filter to find the bi-directional relationships between components by querying for all the primary components that use a common secondary component or, conversely, querying for all the secondary components used in a common primary component.

A secondary component is one used or referenced by the primary component. For example, the individual components used in a process flow are considered dependent or secondary references to the process itself (where the process is the primary component). In another example, when you configure EDI profiles as your source and destination profiles in a Map component, those profiles are considered secondary components to the primary Map component. These concepts are important to remember when deciding how you want to use the Component Reference object — you can query for all the secondary components you configure under a single primary component, or you can retrieve a list of multiple components or processes that use a common secondary component.

Structure

<ComponentReference 
<parentComponentId="" parentVersion="" componentId="" type=""/>
</ComponentReference>

FieldTypeDescription
FilterFilterFilter
parentComponentIdstringThe ID of the primary component that the secondary components reference. You can use this attribute specifically in the QUERY operation. The component ID is available in the Revision History dialog, which you can access from the Build page in the service.
parentVersionstringThe revision number of the primary component. This attribute is used specifically in the QUERY operation. A component's version number is available in the Revision History dialog, which you can access from the Build page in the service.
componentIdstringThe ID of the secondary component. The component ID is available in the Revision History dialog, which you can access from the Build page in the service.
typestringThe type of reference component. Allowed values are DEPENDENT and INDEPENDENT.
- A value of DEPENDENT indicates that the component is included automatically in a process at packaging and deployment time.
- A value of INDEPENDENT indicates the component is standalone, and you must package and deploy it individually and manually, though you might use it in a process configuration.

For more information on component reference types, refer to the topic Component References.

Supported operations

GETQUERYCREATEUPDATEEXECUTEDELETE
 SupportedSupported Not Supported Not Supported Not Supported Not Supported 

Using the QUERY operation

  • You can use the QUERY operation to return the latest version(s) of a primary component(s) that references a given secondary component ID, or all the secondary components that the given primary component ID references.
note

When querying either primary or secondary component references, the API object returns the immediate reference (one level). It does not recursively trace through nested references like the Show Where Used feature does in the user interface. For example, take a process that references a Map component where it references two Profile components. If you query by parentComponentId=<process>, the API returns a result for the Map component but not the profiles. To get the profiles, you need to perform a second call to query references for the Map component.

  • You can filter the query operation in one of two ways:

    • To find all the secondary components referenced by a given primary component, you must provide both the parentComponentId and the parentVersion values. You can optionally use the type filter in your query.
    • To find all the primary components that reference a given secondary component, you must provide the componentId value. You can optionally include the type filter in your query.
  • To see more information about a component ID returned in the response, like the component's type or name, you can query that same ID using the Component Metadata object.

Understanding references to deleted components

Filtering or querying by componentId only returns the component's current version. If you delete the current component revision, it does not return results.

When filtering by parentComponentId or parentVersion, it saves references to other components for a given version of the primary component. If you delete the given primary component version, it does not return results. Note that it is possible to return a reference to a deleted secondary component if you do not remove the reference in the user interface (appears in red).

SOAP implementation

  • GET operation

    Request:

    https://api.boomi.com/api/soap/v1/<accountId>

    GET SOAP Request:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
    <soapenv:Header/>
    <soapenv:Body>
    <api:get>
    <api:objectType>componentReference</api:objectType>
    <api:objectId>c68d2d72-1917-4e5d-9ac4-0e85edaf965e</api:objectId>
    </api:get>
    </soapenv:Body>
    </soapenv:Envelope>

    GET SOAP Response:

    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <bns:getResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
    <bns:result xsi:type="bns:ComponentReference">
    <bns:references parentComponentId="cd19d5b4-65ed-49ad-b047-71ab6dc09432" parentVersion="1" componentId="c68d2d72-1917-4e5d-9ac4-0e85edaf965e" type="DEPENDENT"/>
    </bns:result>
    </bns:getResponse>
    </S:Body>
    </S:Envelope>
  • QUERY operation

    The following example query shows an empty query that returns all the component references for the given account.

    QUERY SOAP Request:

    https://api.boomi.com/api/soap/v1/<accountId>

    QUERY SOAP Request:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
    <soapenv:Header/>
    <soapenv:Body>
    <api:query>
    <api:objectType>componentReference</api:objectType>
    <api:queryConfig>
    <api:QueryFilter>
    <api:expression xsi:type="api:SimpleExpression" operator="EQUALS" property="componentId" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!--Zero or more repetitions:-->
    <api:argument>c68d2d72-1917-4e5d-9ac4-0e85edaf965e</api:argument>
    </api:expression>
    </api:QueryFilter>
    </api:queryConfig>
    </api:query>
    </soapenv:Body>
    </soapenv:Envelope>

    QUERY SOAP Response:

    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <bns:queryResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
    <bns:results numberOfResults="6">
    <bns:result xsi:type="bns:ComponentReference">
    <bns:references parentComponentId="cd19d5b4-65ed-49ad-b047-71ab6dc09432" parentVersion="1" componentId="c68d2d72-1917-4e5d-9ac4-0e85edaf965e" type="DEPENDENT"/>
    </bns:result>
    </bns:results>
    </bns:queryResponse>
    </S:Body>
    </S:Envelope>
On this Page