Get Case Data Using Schema Lite

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi from external applications > Bizagi API > SOAP web services > Available SOAP web services > EntityManagerSOA Web methods >

Get Case Data Using Schema Lite

Overview

This Web method is used to obtain both business information and general detail (e.g creation date, expiration date, etc) for a given Process instance (case), from an external application.

Using this method, Bizagi will only retrieve the attachments' file names.

 

This method receives three parameters, from which two are strictly required: The case identifier, and an XSD (XML Schema) to specify which business information (data model fields) we want to retrieve from the detailed search.

An optional parameter is the work-item input (representing a pending Activity), which would indicate Bizagi to retrieve business information in a given Activity (saved in the scope, but not necessarily persisted yet).

 

For the getCaseDataUsingSchemaLite method, the request and response XML's are of the native .NET XmlDocument type.

For the getCaseDataUsingSchemaLiteAsString method the same XML structure is handled, but the parameter sxsd is sent as a string type using CDATA.

 

 

 

Input

 

Input Schema and Parameters

idCase: Corresponds to the case number.

idWorkitem: Optional. Retrieves information which has been saved in a given Activity (in the scope). Such information which has not been necessarily persisted yet.

xsd: Schema definition with the data to be extracted. The schema's structure sent should correspond to the one obtained from the Process Entity's definition. For the method getCaseDataUsingSchemaLiteAsString this parameter is called sxsd. The schema structure should be enclosed as CDATA.

For further information about this expected schema, refer to Bizagi's data model XML schemas.

Within this XSD, the attribute nillable works to lookup information for a case through an XSD.

 

 

Input Example

With the following example, we will obtain the Number of Office Days requested in a Vacation Request Process.

Notice that the specified schema will start off from Application Entity, which has a reference to the Process Entity (called VacationRequest in our example). For this definition, the schema will correspond to the one obtained from the Application Entity in our example.

We suggest you use How to start a process in Bizagi from other applications as a guideline to invoke this service.

 

We will do this for a Process instance with case number = 51, and therefore for each input parameter we send:

 

Method getCaseDataUsingSchemaLite

<idCase>51</idCase>

<xsd>

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

         <xs:element name="VacationRequest">

                 <xs:complexType>

                         <xs:sequence>

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

                         </xs:sequence>

                 </xs:complexType>

         </xs:element>

 </xs:schema>

</xsd>

 

Method getCaseDataUsingSchemaLiteAsString

<idCase>51</idCase>

<sxsd>

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

         <xs:element name="VacationRequest">

                 <xs:complexType>

                         <xs:sequence>

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

                         </xs:sequence>

                 </xs:complexType>

         </xs:element>

 </xs:schema>]]>

</sxsd>

 

 

Output

 

Output Schema and Parameters

The XML structure for the information returned by Bizagi has BizAgiWSResponse as the root node, and its inner elements correspond to the Schema defined in the input parameters.

 

Output Example

With the following sample returned XML-structured response from Bizagi SOA layer, we can see that one specific case detail is returned according to the specified schema:

 

Method getCaseDataUsingSchemaLite

 

getCaseDataUsingSchema_sampleOutput

 

Method getCaseDataUsingSchemaLiteAsString

 

getCaseDataUsingSchemaLiteAsString_sampleOutput

 

Related Web methods

If you wish to use Xpath definitions instead of an XSD for the filtering criteria, use the getCaseDataUsingXPathsAsString or getCaseDataUsingXPaths Web methods.

For further information refer to the Get Case Data Using XPaths article.