Example of Aggregated Query Configuration

This section provides an example of a fully configured aggregated query.

 

<IntegratedQueriesConfig>

 

  <DataSource ID="Person" Type="RMAPI">

    <DisplayName>Person</DisplayName>

    <ConstructorArguments>

      <Arg Name="url" Value="https://example/query"/>

    </ConstructorArguments>

    <OutputFields>

      <Field Name="name" DisplayName="Name"/>

      <Field Name="ssn" DisplayName="SSN"/>

    </OutputFields>

  </DataSource>

 

  <DataSource ID="SSN" Type="RMAPI">

    <DisplayName>Social Security Numbers</DisplayName>

    <ConstructorArguments>

      <Arg Name="url" Value="https://example2/query"/>

    </ConstructorArguments>

    <OutputFields>

      <Field Name="name" DisplayName="Name"/>

      <Field Name="ssn" DisplayName="SSN"/>

      <Field Name="birthdate" DisplayName="Date of Birth"/>

    </OutputFields>

  </DataSource>

 

  <DataSource ID="BirthDates" Type="RMAPI">

    <DisplayName>Birth Dates</DisplayName>

    <ConstructorArguments>

      <Arg Name="url" Value="https://example3/query"/>

    </ConstructorArguments>

    <OutputFields>

      <Field Name="birthdate" DisplayName="Date of Birth"/>

    </OutputFields>

  </DataSource>

  

  <DataSource ID="Blacklist" Type="RMAPI">

    <DisplayName>Blacklist</DisplayName>

    <ConstructorArguments>

      <Arg Name="url" Value="https://example4/query"/>

    </ConstructorArguments>

    <OutputFields>

      <Field Name="name" DisplayName="Name"/>

    </OutputFields>

  </DataSource>

 

  <DataSource ID="SSN02" Type="RMAPI">

    <DisplayName>SSN 2</DisplayName>

    <ConstructorArguments>

      <Arg Name="url" Value="https://example5/query"/>

    </ConstructorArguments>

    <OutputFields>

      <Field Name="name" DisplayName="Name"/>

    </OutputFields>

  </DataSource>

 

  <DataSource ID="ListOfPeople" Type="RMAPI">

    <DisplayName>List of People</DisplayName>

    <ConstructorArguments>

      <Arg Name="url" Value="https://example6/query"/>

    </ConstructorArguments>

    <OutputFields>

      <Field Name="name" DisplayName="Name"/>

      <Field Name="ssn" DisplayName="SSN"/>

      <Field Name="birthdate" DisplayName="Date of Birth"/>

    </OutputFields>

  </DataSource>

 <IntegratedQueriesConfig>

 

<!—Simple Query-->

 

  <IntegratedQuery ID="SocialSecurityNumbers">

    <DisplayName>Query to Social Security Numbers</DisplayName>

    <InputFields>

      <Field ID="ssn" DisplayName="SSN" Type="Text">

        <IsRequired>True</IsRequired>

      </Field>

    </InputFields>

    <DataSources>

      <DataSource ID="SSN"></DataSource>

    </DataSources>

  </IntegratedQuery>

 

<!—Query with Associated Data Sources-->

 

  <IntegratedQuery ID="People">

    <DisplayName>Query to People</DisplayName>

    <InputFields>

      <Field ID="name" DisplayName="Name" Type="Text">

        <IsRequired>True</IsRequired>

      </Field>

      <Field ID="limit" DisplayName="Maximum number of results (1-10)" Type="Text">

        <IsRequired>True</IsRequired>

        <IsDigitsOnly>True</IsDigitsOnly>

        <NumericMinValue>1</NumericMinValue>

      </Field>

    </InputFields>

    <DataSources>

      <DataSource ID="Person">

        <QueryLinks>

          <Link TargetID="SSN" Text="SSN Query">

            <Parameter ResponseFieldName="ssn" SendAsInputID="ssn" />

          </Link>

        </QueryLinks>

      </DataSource>

    </DataSources>

  </IntegratedQuery>

 

<!—Query with Multiple Data Sources-->

 

  <IntegratedQuery ID="BlacklistOfPeople">

    <DisplayName>Blacklist of People</DisplayName>

    <InputFields>

      <Field ID="ssn" DisplayName="SSN" Type="Text">

        <IsRequired>True</IsRequired>

      </Field>

      <Field ID="limit" DisplayName="Maximum number of results (1-10)" Type="Text">

        <IsRequired>True</IsRequired>

        <IsDigitsOnly>True</IsDigitsOnly>

        <NumericMinValue>1</NumericMinValue>

      </Field>

    </InputFields>

    <DataSources>

      <DataSource ID="Blacklist"></DataSource>

      <DataSource ID="SSN"></DataSource>

      <DataSource ID="BirthDate"></DataSource>

    </DataSources>

  </IntegratedQuery>

 

<!—List of People-->

 

  <IntegratedQuery ID="EmployeeInformation">

    <DisplayName>Employee Information</DisplayName>

    <DataSources>

      <DataSource ID="ListOfPeople">

        <QueryLinks>

          <Link TargetID="SSN" Text="Query to Social Security Numbers">

            <Parameter ResponseFieldName="ssn" SendAsInputID="ssn" />

          </Link>

        </QueryLinks>

      </DataSource>

    </DataSources>

  </IntegratedQuery>

 

<!—Query in Two Services-->

 

  <IntegratedQuery ID="PeopleFromDatabase1">

    <DisplayName>Query to Two Services</DisplayName>

    <InputFields>

      <Field ID="ssn" DisplayName="SSN" Type="Text">

        <IsRequired>True</IsRequired>

      </Field>

      <Field ID="limit" DisplayName="Maximum number of results (1-10)" Type="Text">

        <IsRequired>True</IsRequired>

        <IsDigitsOnly>True</IsDigitsOnly>

        <NumericMinValue>1</NumericMinValue>

      </Field>

    </InputFields>

    <DataSources>

      <DataSource ID="Blacklist"></DataSource>

      <DataSource ID="ListOfPeople"></DataSource>

    </DataSources>

  </IntegratedQuery>

 

</IntegratedQueriesConfig>