assignActivityAsString

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

assignActivityAsString

Introducción

Este método se utiliza para reasignar las Actividades pendientes (Inbox) en Bizagi (desde una aplicación externa).

 

Este método recibe un único parámetro de entrada el cual contiene principalmente: filtros para la información del caso, y cuál usuario será reasignado a la Actividad.

Con esto, se cubre la tarea de reasignar de la misma manera como se presenta esta opción desde las opciones administrativas del Portal de Trabajo.

Para más información acerca de esta opción en el Portal, consulte Portal de Trabajo de Bizagi.

 

note_pin

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

Para el método assignActivity, 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 assignActivityAsString 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:

 

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

  <xs:element name="BizAgiWSParam">

     <xs:complexType>

        <xs:sequence>

           <xs:element name="CaseInfo">

              <xs:complexType>

                 <xs:sequence>

                    <xs:choice>

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

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

                    </xs:choice>

                    <xs:choice>

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

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

                    </xs:choice>

                    <xs:choice>

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

                       <xs:choice>

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

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

                       </xs:choice>

                       <xs:choice>

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

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

                       </xs:choice>

                    </xs:choice>

                 </xs:sequence>

              </xs:complexType>

           </xs:element>

        </xs:sequence>

     </xs:complexType>

  </xs:element>

</xs:schema>

 

 

Parámetros de entrada

BizAgiWSParam: Es el elemento "Nodo raíz". Es de carácter obligatorio.

 

CaseInfo: Es el elemento de carácter obligatorio que especifica la información requerida para la asignación de una actividad.

 

AssignedByIdUser: Es el elemento en donde se define el usuario en Bizagi que tiene actualmente asignada la actividad.

Se recomienda que dicho usuario asignado actual sea especificado en este XML. Sin embargo y si este elemento no está presente, se puede optar por incluir el elemento "AssignedByUserName".

Cuando ninguno de estos 2 elementos se especifica, la información por defecto para el usuario asignado actual se tomará como "domain\admon".

 

AssignedByUserName: Es el elemento en donde se define el usuario en Bizagi ( y su dominio) que tiene actualmente asignada la actividad.

El formato y valor esperado para este elemento debe incluír el dominio antepuesto por una barra invertida ("backslash").Por ejemplo: "domain\admon".

Se recomienda que dicho usuario asignado actual sea especificado en este XML. Sin embargo y si este elemento no está presente, se puede optar por incluir el elemento "AssignedByIdUser".

Cuando ninguno de estos 2 elementos se especifica, la información por defecto para el usuario asignado actual se tomará como "domain\admon".

 

IdCase: Es el elemento en donde se define el caso específico para el cual se desea reasignar una actividad.

Es obligatorio especificar información del caso. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "CaseNumber".

 

CaseNumber: Es el elemento en donde se define el caso específico para el cual se desea reasignar una actividad.

Es obligatorio especificar información del caso. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "IdCase".

 

IdTask: Es el elemento en donde se define la tarea específica para la cual se desea reasignar un usuario.

Es obligatorio especificar información de la tarea. Si este elemento no está presente en el XML (por ejemplo si se desconoce el id de la tarea), entonces se debe optar por definir el elemento "TaskName".

 

TaskName: Es el elemento en donde se define la tarea específica para la cual se desea reasignar un usuario.

Es obligatorio especificar información de la tarea. Si este elemento no está presente en el XML (por ejemplo si se desconoce el nombre de la tarea), entonces se debe optar por definir el elemento "IdTask".

 

IdWorkItem: Es el elemento en donde se define la identificación del registro de "workitem". Esto es, la instancia de la actividad del caso específico.

Su uso es opcional ya que esta definición especifica el caso y actividad a reasignar. Por lo tanto, su definición puede reemplazar la especificación incluída para el caso (IdCase o CaseNumber) y para la tarea (IdTask o TaskName).

Por ejemplo si el IdWorkItem se incluye en el XML, ninguno de los elementos: IdCase, CaseNumber, IdTask o TaskName será necesario.

 

IdUser: Es el elemento en donde se define el usuario de Bizagi el cual será reasignado a una tarea de un caso.

Es obligatorio especificar información sobre el usuario. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "UserName".

 

UserName: Es el elemento en donde se define el usuario de Bizagi ( y su dominio) el cual será reasignado a una tarea de un caso.

El formato y valor esperado para este elemento debe incluír el dominio antepuesto por una barra invertida ("backslash").Por ejemplo: "domain\admon".

Es obligatorio especificar información sobre el usuario. Si este elemento no está presente en el XML, entonces se debe optar por definir el elemento "IdUser".

 

 

Ejemplo

Con el siguiente ejemplo, se reasigna el caso 2, en su Actividad EvaluateRequest al usuario domain\admon (y ya no estará disponible para domain\johnw).

 

<BizAgiWSParam>

  <CaseInfo>

     <AssignedByUserName>domain\johnw</AssignedByUserName>

     <UserName>domain\admon</UserName>

     <IdCase>2</IdCase>

     <IdTask>EvaluateRequest</IdTask>

  </CaseInfo>

</BizAgiWSParam>

 

 

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="Process">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="ProcessId" type="xs:unsignedShort" />

                         <xs:element name="ProcessRadNumber" type="xs:unsignedShort" />

                         <xs:element name="savedMessage">

                                 <xs:complexType>

                                         <xs:sequence>

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

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="ProcessWorkflowClass">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="workflowClassId" type="xs:unsignedByte" />

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

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

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

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

                                                 <xs:element name="workflowClassDisplayOrder" type="xs:unsignedByte" />

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

                                                 <xs:element name="workflowClassGlobalForm" type="xs:unsignedByte" />

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

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

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

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

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="ProcessError">

                                 <xs:complexType>

                                         <xs:sequence>

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

                                                 <xs:element name="errorMessage">

                                                         <xs:complexType mixed="true">

                                                                 <xs:sequence minOccurs="0">

                                                                         <xs:element name="Entities">

                                                                                 <xs:complexType>

                                                                                         <xs:sequence>

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

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

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

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

                                                                                         </xs:sequence>

                                                                                 </xs:complexType>

                                                                         </xs:element>

                                                                 </xs:sequence>

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="CurrentWorkItems">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="workItem">

                                                         <xs:complexType>

                                                                 <xs:sequence>

                                                                         <xs:element name="workItemId" type="xs:unsignedShort" />

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

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

                                                                         <xs:element name="workItemDuration" type="xs:unsignedByte" />

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

                                                                         <xs:element name="task">

                                                                                 <xs:complexType>

                                                                                         <xs:sequence>

                                                                                                 <xs:element name="taskId" type="xs:unsignedByte" />

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

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

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

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

                                                                                                 <xs:element name="taskEstimatedDuration" type="xs:unsignedByte" />

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

                                                                                                 <xs:element name="taskCost" type="xs:unsignedByte" />

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

                                                                                         </xs:sequence>

                                                                                 </xs:complexType>

                                                                         </xs:element>

                                                                 </xs:sequence>

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

 

Parámetros de salida

Una respuesta exitosa de la invocación contendrá un mensaje de éxito dentro del nodo BizAgiWSResponse.

 

Si la respuesta es fallida, entonces tendrá:

processes: Es el elemento "Nodo raíz". Contiene en XML la información de respuesta.

process: Es el elemento que contiene mayor detalle del error en invocación.

processId: Contiene el id del proceso.

processRadNumber: Contiene el valor alfanumérico que corresponde al número de creación del caso (radicación).

processError: Contiene la descripción del error (código y mensaje) del intento de asignación de la actividad.

errorCode: Contiene el código del error.

errorMessage: Contiene el mensaje del error.

 

 

Ejemplo

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

La invocación es exitosa:

Ws_assignactivity_responseexampleOK

La invocación falla:

Ws_assignactivity_responseexampleERROR