getEntitiesAsString

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios web disponibles > Métodos Web de EntityManagerSOA >

getEntitiesAsString

Introducción

Este método se utiliza para consultar los registros en una Entidad del modelo de datos de Bizagi (desde una aplicación externa).

 

Este método es especialmente útil para Entidades de Parametrización, dado que los registros en estas Entidades no son modificados a lo largo de instancias de Procesos.

Este método recibe un único parámetro de entrada el cual contiene principalmente: la Entidad a consultar, y posibles filtros para la búsqueda.

 

Nótese que este método retorna la información de los registros en la Entidad pero también la información relacionada a través de sus atributos para un nivel de profundidad.

Si desea especificar que se utilice una mayor profundidad (para navegar la información a más de una relación de distancia), use los métodos getEntitiesUsingSchemaAsString o getEntitiesUsingSchema.

Para más información sobre éste y otros métodos relacionados, consulte la sección al final de este artículo.

 

 

note_pin

La descripción en este artículo aplica también para el método Web getEntities, el cual está disponible en la edición Bizagi .NET.

Para el método getEntities, el XML que se maneja en la solicitud (request) y en la respuesta (response) son del tipo XmlDocument (nativa de .NET).

Para el método getEntitiesAsString la misma estructura de XMLs se maneja, sin embargo este parámetro es de tipo cadena (string).

 

Datos de entrada

 

Esquema de entrada

La estructura del XML que se envia a Bizagi debe ser cumplir con este XSD:

<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

 <xs:element name="BizAgiWSParam">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="EntityData">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:choice>

                                                         <xs:element name="EntityName" type="xs:string"/>

                                                         <xs:element name="EntityID" type="xs:integer"/>

                                                 </xs:choice>

                                                 <xs:element name="FilterDisabled" type="xs:boolean" minOccurs="0" />

                                                 <xs:element name="Filters" type="xs:string" nillable="true" minOccurs="0"/>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

 

Parámetros de entrada

BizAgiWSParam: Es el nodo raíz.

EntityData: Contiene el nombre de la Entidad, o su Id (una de las 2 opciones).

EntityName: Es el nombre (no el nombre a mostrar o display name) de la entidad deseada. Si se incluye este elemento no se debe incluir el que se explica a continuación (EntityID).

EntityID: Se usa en lugar del método EntityName explicado previamente, se debe incluir únicamente uno de los dos en el XML. Corresponde a la llave o id (en la base de datos para la tabla ENTITY) de la entidad que se va a consultar. Es más sencillo utilizar este elemento junto con otros métodos SOA, como por ejemplo aquellos del servicio web RenderSOA, los cuales se usan para replicar formas Bizagi en la interfaz de usuario de un sistema externo, este método retorna los ids de las entidades relacionadas a la metadata de las formas.

FilterDisabled: Se usa para decidir si la consulta debe incluir registros de Entidades de Parametrización que estén deshabilitados (con borrado lógico). Para incluirlos, utilice el valor falso (false) para este nodo.

Filters: Establece el filtro para la entidad consultada. El formato del filtro funciona como la sentencia WHERE de una consulta básica de SQL.

Se recomienda que se utilice el elemento CDATA para incluir los filtros (y de esta manera poder utilizar los caracteres especiales en notación XML, como por ejemplo el operador menor-que).

 

La siguiente tabla presenta los operadores válidos en filtros, para usar en CDATA:

 

Caracter

Descripción

=

Equal to

<

Less than

>

Greater than

<>

Different from

!=

Different from

<=

Less than or equal to

>=

Greater than or equal to

 

 

 

Ejemplo

Con el siguiente ejemplo, se obtiene la información de solicitantes (instancias de Applicant), con BuroScore menor que 100.

<?xml version="1.0" encoding="utf-8"?>

<BizAgiWSParam>

 <EntityData>

         <EntityName>Applicant</EntityName>

         <Filters>

                 <![CDATA[BuroScore < 100]]>

         </Filters>

 </EntityData>

</BizAgiWSParam>

 

Otros ejemplos de filtros válidos son:

Con una comparación directa:

 <![CDATA[ Option  = 'Automatic' ]]>

Usando la claúsula conyuntiva AND:
       <![CDATA[ (DocumentType = 1 OR City = 2) AND Approved = true ]]>

Comparando información de fechas (con el formato del proyecto):

 <![CDATA[ date1 >= '06/05/2008' ]]>

 

Datos de salida

 

Esquema de salida

La estructura del XML que se retorna en Bizagi cumple con este XSD:

<?xml version="1.0" encoding="utf-8"?>

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

 <xs:element name="BizAgiWSResponse">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="Entities" maxOccurs="1">

                                 <xs:complexType />

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

Dentro del elemento Entities se incluyen los elementos del modelo de datos de Bizagi con sus valores (atributos, relaciones, Entidades).

Para más información sobre esta estructura, consulte cómo se representan el modelo de datos del Proceso en Esquema XML de Bizagi para el modelo de datos.

 

 

Parámetros de salida

BizAgiWSResponse: Es el nodo raíz.

Entities: Dentro de este elemento, se obtiene la información del modelo de datos del Proceso.

Nótese que este método retorna un set de registros, por lo que se obtiene una única ocurrencia de este elemento pero posiblemente muchas ocurrencias de sus elementos internos.

 

 

Ejemplo

Con el siguiente ejemplo, se ilustra la respuesta que retorna la invocación de este método en Bizagi;

 

GetEntities_Image003

 

Nótese que los atributos que contienen valores nulos (NULL) no los retorna Bizagi.

 

 

Métodos Web relacionados

Si desea obtener información a partir  de una Entidad (como punto de partida) pero con un mayor nivel de profundidad (navegando los atributos), use los métodos getEntitiesUsingSchemaAsString o getEntitiesUsingSchema.

Adicionalmente, con estos otros métodos, los campos en NULL son retornados si se especifican explícitamente dentro del esquema.

Para más información sobre esta opción, consulte getEntitiesUsingSchemaAsString.