getCaseDataUsingXPathsAsString

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

getCaseDataUsingXPathsAsString

Introducción

Este método se utiliza para obtener tanto información de negocio, como detalle general (por ejemplo, fecha de creación, fecha estimada de solución, etc) para un caso en Bizagi (desde una aplicación externa).

 

Este método recibe  un único parámetro de entrada el cual contiene principalmente: el identificador del caso, filtros a forma de XPath para especificar qué información de negocio se quiere obtener.

 

 

note_pin

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

Para el método getCaseDataUsingXPath, 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 getCaseDataUsingXPathAsString 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 attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

 <xs:element name="BizAgiWSParam">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="CaseInfo" minOccurs="1" maxOccurs="1">

                                 <xs:complexType>

                                         <xs:sequence>

                   <xs:choice>        

                                                   <xs:element name="IdCase" minOccurs="0" maxOccurs="1" type="xs:integer" />

                                                   <xs:element name="CaseNumber" minOccurs="0" maxOccurs="1" type="xs:integer" />

                   </xs:choice>

                   <xs:choice>

                                                   <xs:element name="TaskName" minOccurs="0" maxOccurs="1" type="xs:string" />

                                                   <xs:element name="IdTask" minOccurs="0" maxOccurs="1" type="xs:integer" />

                                                   <xs:element name="IdWorkItem" minOccurs="0" maxOccurs="1" type="xs:integer" />

                   </xs:choice>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="XPaths" minOccurs="1" maxOccurs="1">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="XPath" minOccurs="1" maxOccurs="unbounded">

                                                         <xs:complexType>

                                                                 <xs:attribute name="XPath" type="xs:string" />

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

Parámetros de entrada

IdCase: Número de identificación Interna (id en la base de datos) del caso en Bizagi.

CaseNumber: Número de caso o número de creación del caso. Si se utiliza el IdCase, este no será necesario.

TaskName: Este elemento debe ser utilizado en conjunto con el IdCase o el número del caso (CaseNumber). Cuando se incluye en la consulta, la infomación retornada será la información guardada en una tarea en curso (únicamente para actividades manuales o eventos intermedios disponibles), der lo contrario, se retorna únicamente la información existente en la base de datos.

IdTask: Es posible utilizar el número de identificación interno de la Actividad (en la base de datos) en lugar del nombre de la Tarea.

IdWorkItem: Otra forma de obtener la información de una tarea específica en el caso es enviando el número de identificación del workitem (la tabla WORKITEM almacena la información sobre las tareas en curso y ejecutadas para cada caso). Si se envía este elemento, entonces es necesario llenar el nombre de la tarea o el id, y no el id del caso (idCase) o el número de creación.

Es importante que el id que se envía sea el de un workitem que se encuentre abierto, no el de uno que ya haya sido ejecutado.

XPaths: Contiene 1 o más nodos de tipo Xpath, que se usa para filtrar la información.

XPath: Incluya este elemento para cada XPath en la consulta. Este elemento tiene a su vez un atributo llamado XPath. El valor de este atributo será el XPath de Bizagi  solicitado.

 

Por lo tanto, en este nodo, las posibilidades son:

- Llenar únicamente el IdCase (la respuesta incluiría  solamente información de las tareas terminadas).

- Llenar el número del caso, en inglés CaseNumber (la respuesta incluiría solamente información de las tareas terminadas).

- Llenar el IdCase o el número del caso junto con el Nombre de la tarea (TaskName) o el IdTask.  (La respuesta incluiría información de las tareas activas).

- Llenar únicamente el IdWorkItem (La respuesta incluiría información de las tareas activas).

XPath: Incluya este elemento para cada XPath en la consulta. Este elemento tiene a su vez un atributo llamado XPath. El valor de este atributo será el XPath de Bizagi  solicitado.

 

Ejemplo

Con el siguiente ejemplo, se quieren obtener datos de un caso del Proceso de Solicitud de crédito (Credit Request) con el siguiente modelo de datos:

GetCaseDataUsingXPaths_Image002

 

 

Con este ejemplo, obtendremos la información de negocio de un caso con identificador=8451.

Este caso tiene una Actividad pendiente cuyo id es 180.

La información que deseamos obtener es: BuroScore, BuroFile, DocumentNumber y DocsDelivieryDate de la Entidad Applicant (para todos los solicitantes --instancias de applicant-- de la solicitud).

Adicionalmente, queremos obtener el valor de DocumentNumber de aplicantes con BuroScore menor que 100.

 

 

GetCaseDataUsingXPaths_Image003

 

En la imagen anterior, se aprecia que el filtro usa (BuroScore &lt; 100).

Para este tipo de filtros, donde se use el caracter <, es necesario utilizar su notación para XML (dado que este es un caracter especial de la notación de XML); y por lo tanto se define como &lt;.

 

En la siguiente table podemos ver los formatos XML equivalentes para usar cuando hayan caracteres especiales.

 

Caracter

Descripción

Formato XML

<

Operador menor-que

&lt;

>

Operador mayor-que

&gt;

"

Comilla doble

&quot;

'

Apóstrofe, o comilla simple

&apos;

&

Ampersand

&amp;

 

 

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:choice maxOccurs="unbounded">

                                 <xs:element name="XPath">

                                         <xs:complexType mixed="true">

                                                 <xs:sequence minOccurs="0">

                                                         <xs:element name="Items">

                                                                 <xs:complexType>

                                                                         <xs:sequence>

                                                                                 <xs:element maxOccurs="unbounded" name="Item">

                                                                                         <xs:complexType>

                                                                                                 <xs:simpleContent>

                                                                                                         <xs:extension base="xs:string">

                                                                                                                 <xs:attribute name="Id" type="xs:integer" use="optional" />

                                                                                                                 <xs:attribute name="FileName" type="xs:string" use="optional" />

                                                                                                         </xs:extension>

                                                                                                 </xs:simpleContent>

                                                                                         </xs:complexType>

                                                                                 </xs:element>

                                                                         </xs:sequence>

                                                                 </xs:complexType>

                                                         </xs:element>

                                                 </xs:sequence>

                                                 <xs:attribute name="XPath" type="xs:string" use="required" />

                                         </xs:complexType>

                                 </xs:element>

                                 <xs:element name="Error">

                                         <xs:complexType>

                                                 <xs:sequence>

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

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

                                                 </xs:sequence>

                                                 <xs:attribute name="XPath" type="xs:string" use="required" />

                                         </xs:complexType>

                                 </xs:element>

                         </xs:choice>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

Parámetros de salida

 

 

 

Ejemplo

Con el siguiente ejemplo, se ilustra la respuesta que retorna la invocación de este método en Bizagi, en donde vemos una invocación exitosa, y un error:

 

 

GetCaseDataUsingXPaths_Image005

 

 

Métodos Web relacionados

Si desea utilizar un XSD (esquema de XML) en vez de Xpaths como filtro de la información a obtener, use los métodos getCaseDataUsingSchemaAsString o getCaseDataUsingSchema.

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