Actividad Leer OData

Esta actividad toda el URL de OData junto con los parámetros de consulta, la carga útil, las cabeceras HTTP como entrada y crea la salida proporcionando los detalles del objeto que se va a utilizar, los detalles de clave primaria y la carga útil si está presente. La salida se utiliza como parte de la ejecución de la lógica empresarial junto con otras actividades de la orquestación.

Propiedades de configuración para la actividad Leer OData

Tabla 1. Configurar propiedades de panel
Nombre del campo Descripción
Versión de OData La versión de OData que esta actividad va a utilizar. Se debe utilizar la misma versión en todas las actividades de una única orquestación. La única versión admitida actualmente es 4.0.
Seleccionar datos de entrada Seleccione una de las opciones sobre cómo proporcionar la estructura de datos de negocio a la actividad Leer OData. La API de OData se crea según esta estructura o estructuras proporcionadas.
  • Esquema XML existente: seleccione esta opción para examinar un esquema existente disponible en la orquestación. Solo se puede seleccionar un objeto con esta opción lo que significa que la API de OData admitirá solo un objeto de nivel superior. Esta opción se utiliza si las orquestaciones de Cast Iron tienen que exponer la API de OData.
  • URL de punto final (API de OData): seleccione esta opción para hablar con una aplicación de API de OData externa. En este caso Cast Iron hace de cliente. Se debe proporcionar el URL de raíz de servicio de la aplicación externa. Esta opción no se admite a partir de la versión 7.5.1 y se añadirá en versiones futuras.
  • Nuevo esquema XML para admitir varias entidades: seleccione esta opción para admitir objetos de nivel superior en la API de OData. Se debe pegar un esquema XML que contiene uno o varios elementos globales en el área de texto proporcionada. Esta opción se utiliza si las orquestaciones de Cast Iron tienen que exponer la API de OData. Por ejemplo, consulte el esquema XML de ejemplo proporcionado a continuación.

Se proporciona como ejemplo un esquema XML de muestra que contiene objetos de cuenta y producto.

<?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>
Tabla 2. Correlacionar parámetros de entrada
Nombre del campo Descripción
serviceName Este es el nombre de la API ReST de OData y será parte del URL. El valor de esta propiedad debe ser el mismo que el valor de la propiedad "URL (vía de acceso después del nombre de host)" en el panel Configurar de la actividad "Recibir solicitud" HTTP. Cuando coincide el URL con este nombre (por ejemplo: http://host/serviceName), proporciona el documento de servicio en la respuesta.
protocol El protocolo admitido por la API ReST de OData. Es necesario que este valor tome uno de los dos valores admitidos (HTTP o HTTPS) como valor predeterminado.
host El host en el que se ejecuta la API. El valor de esta propiedad se debe correlacionar desde la salida de la actividad "Recibir solicitud" HTTP.
method El método HTTP de la solicitud. El valor de esta propiedad se debe correlacionar desde la salida de la actividad "Recibir solicitud" HTTP.
uri El URI de la solicitud http. El valor de esta propiedad se debe correlacionar desde la salida de la actividad "Recibir solicitud" HTTP.
Accept El valor de cabecera Accept. El valor de esta propiedad se puede establecer en el valor predeterminado o se puede correlacionar desde la salida de la actividad "Recibir solicitud" HTTP. Los valores admitidos son application/json y application/xml.
Content-Type El valor de cabecera Content-Type. El valor de esta propiedad se puede establecer en el valor predeterminado o se puede correlacionar desde la salida de la actividad "Recibir solicitud" HTTP. Los valores admitidos son application/json y application/xml.
PrimaryKeys Los campos que se tienen que marcar como claves primarias en las estructuras de datos empresariales seleccionadas. Esta propiedad es un tipo de matriz serie y puede tomar varios valores para admitir claves primarias compuestas.

La sintaxis de los valores de campo se proporciona a continuación.

sintaxis: nombreObjeto:nombreCampo

Por ejemplo: para el esquema proporcionado anteriormente, los valores pueden ser account:accountId o product:pid

readODataInputPayload La carga útil de la solicitud OData que se tiene que pasar para los métodos HTTP POST, PUT y PATCH. El valor de esta propiedad se debe correlacionar desde la propiedad body de la salida "Recibir solicitud" HTTP.
readODataHttpHeadersInput Las propiedades se pueden correlacionar desde la salida de cabecera de la actividad "Recibir solicitud" HTTP.

Algunas de las propiedades de la respuesta son iguales a las propiedades disponibles en la entrada. A continuación se indican otras propiedades de Correlacionar salidas:

Tabla 3. Propiedades de Correlacionar salidas
Nombre del campo Descripción
isMetadataDocumentRequest Cuando esta propiedad es true, indica que la llamada de solicitud (/serviceName/$metadata) es para el documento de metadatos y el documento de metadatos de respuesta está disponible en la propiedad "metadataDocument"
metadataDocument Esta propiedad contiene el documento de metadatos cuando se realiza una llamada a /serviceName/$metadata.
isServiceDocumentRequest Cuando esta propiedad es true, indica que la llamada de solicitud (/serviceName) es para el documento de servicio y el documento de servicio de respuesta está disponible en la propiedad "serviceDocument"
serviceDocument Esta propiedad contiene el documento de servicio cuando se realiza una llamada a /serviceName.
resourcePath Esta propiedad contiene la vía de acceso del URL de la llamada.
entities Esta propiedad es de tipo matriz de series y contiene los nombres de conjunto de entidades solicitados en el URL. Por ejemplo, si el serviceName es /test y la estructura de datos de negocio es account (del esquema anterior) el url que obtendrá todos los detalles de cuenta será http://hostname/test/accounts. En este ejemplo, el nombre del conjunto de entidades es accounts.
fieldName Si la solicitud de un nombre de campo está presente en una estructura de datos de negocio el nombre del campo estará presente en esta propiedad. Por ejemplo, si el URL solicitado es http://hostname/test/accounts(5)/accountName, el valor de fieldName será accountName.
additionalpath Si hay algún elemento adicional como $value o $count en el url de solicitud, el valor estará presente en esta propiedad.
primaryKeys

Si el URL de solicitud contiene claves primarias, esa información estará presente en este campo.

Ejemplos de URL:

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

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

La estructura primaryKeys contendrá el nombre de campo, el valor y el tipo de datos de la clave primaria.

readODataHttpHeadersOutput Contiene información de cabecera que se ha enviado como parte de la solicitud.
readODataQueryParametersOutput Contiene los parámetros de consulta estándar definidos mediante OData y cualquier parámetro de consulta adicional.
readODataOutputPayload Si la carga útil se envía como parte de la solicitud (para las operaciones POST y PUT), la carga útil se analiza y se llena en la estructura de datos empresariales de respuesta.