Atividade Ler OData

Essa atividade obtém a URL de OData junto aos parâmetros de consulta, carga útil, cabeçalhos de HTTP como entrada e cria saída fornecendo detalhes do objeto que está sendo usado, os detalhes da chave primária, a carga útil, se presente. Essa saída é usada como parte da execução da lógica de negócios junto a outras atividades na orquestração.

Propriedades de configuração para a atividade Ler OData

Tabela 1. Propriedades do painel Configurar
Nome do Campo Descrição
Versão de OData A versão de OData a ser usada para essa atividade. A mesma versão precisa ser usada em todas as atividades em uma única orquestração. A única versão suportada atualmente é 4.0.
Selecionar dados de entrada Selecione uma das opções sobre como fornecer a estrutura de dados de negócios para a atividade Ler OData. O OData API é criado com base nesta(s) estrutura(s) de negócios fornecida(s).
  • Esquema XML existente: selecione essa opção para procurar um esquema existente disponível na orquestração. É possível selecionar somente um objeto com essa opção, o que significa que o OData API estará suportando apenas um objeto de nível superior. Essa opção será usada se OData API precisar ser exposto por orquestrações de Cast Iron.
  • URL de terminal (OData API): selecione essa opção para conversar com um aplicativo OData API externo. Neste caso, o Cast Iron está agindo como cliente. A URL raiz de serviço do aplicativo externo precisa ser fornecida. Essa opção não é suportada a partir da versão 7.5.1 e será incluída em versões futuras.
  • Novo esquema XML para suportar múltiplas entidades: selecione essa opção para suportar múltiplos objetos de nível superior no OData API. Um esquema XML que contém um ou mais elementos globais precisa ser colado na área de texto fornecida. Essa opção será usada se OData API precisar ser exposto por orquestrações de Cast Iron. Por exemplo, consulte o esquema XML de amostra especificado abaixo.

Um esquema XML de amostra contendo objetos de conta e de produto é especificado como exemplo.

<?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>
Tabela 2. Propriedades de Mapear entrada
Nome do Campo Descrição
serviceName Esse é o nome do OData ReST API e fará parte da URL. O valor dessa propriedade deve ser o mesmo valor da propriedade "URL (caminho depois de nome do host)" no painel Configurar da atividade de HTTP "Receber solicitação". Quando a URL com esse nome (por exemplo: http://host/serviceName) é pressionada, ela fornece o documento de serviço na resposta.
protocol O protocolo suportado por seu OData ReST API. Esse valor precisa ser padronizado com um dos dois valores suportados (HTTP ou HTTPS).
host O host no qual a API está em execução. O valor para essa propriedade deve ser mapeado a partir da saída da atividade de HTTP "Receber solicitação".
Método O método de HTTP da solicitação. O valor para essa propriedade deve ser mapeado a partir da saída da atividade de HTTP "Receber solicitação".
uri O URI (Identificador Uniforme de Recursos) da solicitação de HTTP. O valor para essa propriedade deve ser mapeado a partir da saída da atividade de HTTP "Receber solicitação".
Aceitar O valor do cabeçalho Aceitar. O valor dessa propriedade pode ser configurado com o valor padrão ou mapeado a partir da saída da atividade de HTTP "Receber solicitação". Os valores suportados são application/json e application/xml.
Content-Type O valor do cabeçalho de Tipo de conteúdo. O valor dessa propriedade pode ser configurado com o valor padrão ou mapeado a partir da saída da atividade de HTTP "Receber solicitação". Os valores suportados são application/json e application/xml.
PrimaryKeys Os campos que precisam ser marcados como chaves primárias nas estruturas de dados de negócios selecionadas. Essa propriedade é do tipo de matriz de sequência e pode usar múltiplos valores para suportar chaves primárias compostas.

A sintaxe dos valores de campo é especificada abaixo.

syntax: objectName:fieldName

Por exemplo: para o esquema fornecido acima, os valores podem ser account:accountId ou product:pid

readODataInputPayload A carga útil de solicitação de OData que precisa ser passada para os métodos de HTTP POST, PUT e PATCH. O valor dessa propriedade deve ser mapeado a partir da propriedade de corpo da saída de HTTP "Receber solicitação".
readODataHttpHeadersInput As propriedades podem ser mapeadas a partir da saída do cabeçalho da atividade de HTTP "Receber solicitação".

Algumas das propriedades na resposta são as mesmas propriedades disponíveis na entrada. Outras propriedades de Mapear saída são explicadas abaixo:

Tabela 3. Propriedades de Mapear saída
Nome do Campo Descrição
isMetadataDocumentRequest Quando essa propriedade é true, indica que a chamada de solicitação (/serviceName/$metadata) é para o documento de metadados e o documento de metadados de resposta está disponível na propriedade "metadataDocument"
metadataDocument Essa propriedade contém o documento de metadados de quando a chamada /serviceName/$metadata é feita.
isServiceDocumentRequest Quando essa propriedade é true, indica que a chamada de solicitação (/serviceName) é para o documento de serviço e o documento de serviço de resposta está disponível na propriedade "serviceDocument"
serviceDocument Essa propriedade contém o documento de serviço de quando a chamada /serviceName é feita.
resourcePath Essa propriedade contém o caminho da URL da chamada.
entities Essa propriedade é do tipo matriz de sequência e contém o(s) nome(s) do(s) conjunto(s) de entidade solicitado(s) na URL. Por exemplo, se o serviceName é /test e a estrutura de dados de negócios selecionada é account (do esquema acima), a URL para obter todos os detalhes da conta é http://hostname/test/accounts. Neste exemplo, o nome do conjunto de entidade é accounts.
fieldName Se a solicitação por um nome de campo estiver presente em uma estrutura de dados de negócios, o nome do campo estará presente nessa propriedade. Por exemplo, se a URL solicitada for http://hostname/test/accounts(5)/accountName, o valor de fieldName será accountName.
additionalpath Se houver algum token adicional, como $value ou $count, na URL de solicitação, esse valor estará presente nessa propriedade.
primaryKeys

Se a URL de solicitação contiver chaves primárias, essas informações estarão presentes nesse campo.

Exemplos de URL:

http://hostname/test/accounts(5)

http://hostname/test/salesorder(orderid='so1',name='ask')

A estrutura primaryKeys conterá o nome do campo, o valor e o tipo de dados da chave primária.

readODataHttpHeadersOutput Contém informações de cabeçalho que foram enviadas como parte da solicitação.
readODataQueryParametersOutput Contém os parâmetros de consulta padrão definidos por OData e quaisquer parâmetros de consulta adicionais.
readODataOutputPayload Se a carga útil for enviada como parte da solicitação (para operações POST e PUT), a carga útil será analisada e preenchida na estrutura de dados de negócios de resposta.