Obtener Entidades

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios alternos SOAP > Servicios web SOAP disponibles > Métodos Web de EntityManagerSOA >

Obtener Entidades

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

Para consultar atributos de tipo archivo, consulte los métodos obtener datos del caso utilizando XPaths y obtener datos del caso utilizando esquemas. Tenga en cuenta que ambos métodos solo traen datos de casos y actividades abiertos.

 

Para el método getEntities, los XMLs de petición y de respuesta son de tipo XmlDocument nativo de .NET.

Para el método getEntitiesAsString se maneja la misma estructura XML pero los parámetros son enviados como un tipo cadena de texto por medio de CDATA.

 

 

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.

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).

Podrá solamente filtrar valores incluyendo aquellos filtros que consideren atributos directamente dentro de la entidad que se consulta (no se soporta filtrar por atributos ni por relaciones de otras entidades).

 

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

 

Caracter

Descripción

=

Igual a

<

Menor que

>

Mayor que

<>

Diferente a

!=

Diferente a

<=

Menor o igual que

>=

Mayor o igual que

 

La siguiente tabla proporciona el formato XML equivalente que debe utilizarse para aquellos escenarios en los que se requieren caracteres especiales reservados en XML (de uso común).

 

Caracter

Descripción

Formato XML a utilizar

<

Signo de menor que

&lt;

>

Signo de mayor que

&gt;

"

Comillas dobles

&quot;

'

Comillas sencillas (o apostrofe)

&apos;

&

Ampersand

&amp;

 

Ejemplo

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

 

Método getEntitiesAsString

<BizAgiWSParam>

 <EntityData>

   <EntityName>Applicant</EntityName>

   <Filters>

     <![CDATA[BuroScore < 100]]>

   </Filters>

 </EntityData>

</BizAgiWSParam>

 

Método getEntitiesAsString

<entitiesInfo>

 <![CDATA[<BizAgiWSParam>

   <EntityData>

     <EntityName>Applicant</EntityName>

     <Filters>

       BuroScore &lt; 100

     </Filters>

   </EntityData>

 </BizAgiWSParam>]]>

</entitiesInfo>

 

Otros ejemplos de filtros válidos son:

Con una comparación directa:

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

Usando la cláusula conjuntiva 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;

 

Método getEntities

 

GetEntities_Image003

 

Método getEntitiesAsString

 

getEntitiesAsString_01

 

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 Obtener Entidades Utilizando Esquemas.