BUG 6210 Request for web service to retrieve all the case variables SOLVED
- The getVariables() web service is not very useful, if you don't know which case variables have been defined. - Added a new function for web services getAllVariables.
This commit is contained in:
@@ -1653,6 +1653,43 @@ class wsBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get all variables the system and case selected
|
||||||
|
* @param string $caseId
|
||||||
|
*
|
||||||
|
* @return $result will return an object
|
||||||
|
*/
|
||||||
|
public function getAllVariables($caseId)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
|
||||||
|
$oCase = new Cases();
|
||||||
|
|
||||||
|
$caseFields = $oCase->loadCase($caseId);
|
||||||
|
|
||||||
|
$oldFields = $caseFields['APP_DATA'];
|
||||||
|
$resFields = array();
|
||||||
|
|
||||||
|
foreach ($oldFields as $key => $val) {
|
||||||
|
$node = new stdClass();
|
||||||
|
$node->name = $key;
|
||||||
|
$resFields[] = $node;
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = new wsGetVariableResponse(
|
||||||
|
0,
|
||||||
|
count($resFields) . G::loadTranslation('ID_VARIABLES_SENT'), $resFields
|
||||||
|
);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$result = new wsGetVariableResponse(100, $e->getMessage(), null);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* new Case begins a new case under the name of the logged-in user.
|
* new Case begins a new case under the name of the logged-in user.
|
||||||
* @param string $processId
|
* @param string $processId
|
||||||
|
|||||||
@@ -308,6 +308,11 @@
|
|||||||
<xs:element name="value" type="xs:string"/>
|
<xs:element name="value" type="xs:string"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
|
<xs:complexType name="variableListNameStruct">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="name" type="xs:string"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
<xs:element name="variableListRequest">
|
<xs:element name="variableListRequest">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@@ -325,6 +330,16 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element name="getAllVariablesResponse">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="status_code" type="xs:integer"/>
|
||||||
|
<xs:element name="message" type="xs:string"/>
|
||||||
|
<xs:element name="timestamp" type="xs:string"/>
|
||||||
|
<xs:element name="variables" minOccurs="0" maxOccurs="unbounded" type="xs0:variableListNameStruct"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="getVariablesRequest">
|
<xs:element name="getVariablesRequest">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@@ -334,6 +349,14 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:element name="getAllVariablesRequest">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="sessionId" type="xs:string"/>
|
||||||
|
<xs:element name="caseId" type="xs:string"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="newCaseRequest">
|
<xs:element name="newCaseRequest">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@@ -920,6 +943,12 @@
|
|||||||
<message name="getVariablesResponse">
|
<message name="getVariablesResponse">
|
||||||
<part name="parameters" element="xs0:getVariablesResponse"/>
|
<part name="parameters" element="xs0:getVariablesResponse"/>
|
||||||
</message>
|
</message>
|
||||||
|
<message name="getAllVariablesRequest">
|
||||||
|
<part name="parameters" element="xs0:getAllVariablesRequest"/>
|
||||||
|
</message>
|
||||||
|
<message name="getAllVariablesResponse">
|
||||||
|
<part name="parameters" element="xs0:getAllVariablesResponse"/>
|
||||||
|
</message>
|
||||||
<message name="sendMessageRequest">
|
<message name="sendMessageRequest">
|
||||||
<part name="parameters" element="xs0:sendMessageRequest"/>
|
<part name="parameters" element="xs0:sendMessageRequest"/>
|
||||||
</message>
|
</message>
|
||||||
@@ -1102,6 +1131,10 @@
|
|||||||
<input message="xs0:getVariablesRequest"/>
|
<input message="xs0:getVariablesRequest"/>
|
||||||
<output message="xs0:getVariablesResponse"/>
|
<output message="xs0:getVariablesResponse"/>
|
||||||
</operation>
|
</operation>
|
||||||
|
<operation name="getAllVariables">
|
||||||
|
<input message="xs0:getAllVariablesRequest"/>
|
||||||
|
<output message="xs0:getAllVariablesResponse"/>
|
||||||
|
</operation>
|
||||||
<operation name="sendMessage">
|
<operation name="sendMessage">
|
||||||
<input message="xs0:sendMessageRequest"/>
|
<input message="xs0:sendMessageRequest"/>
|
||||||
<output message="xs0:pmResponse"/>
|
<output message="xs0:pmResponse"/>
|
||||||
@@ -1363,6 +1396,15 @@
|
|||||||
<soap12:body use="literal"/>
|
<soap12:body use="literal"/>
|
||||||
</output>
|
</output>
|
||||||
</operation>
|
</operation>
|
||||||
|
<operation name="getAllVariables">
|
||||||
|
<soap12:operation soapAction="urn:getAllVariables" soapActionRequired="true" style="document"/>
|
||||||
|
<input>
|
||||||
|
<soap12:body use="literal"/>
|
||||||
|
</input>
|
||||||
|
<output>
|
||||||
|
<soap12:body use="literal"/>
|
||||||
|
</output>
|
||||||
|
</operation>
|
||||||
<operation name="sendMessage">
|
<operation name="sendMessage">
|
||||||
<soap12:operation soapAction="urn:sendMessage" soapActionRequired="true" style="document"/>
|
<soap12:operation soapAction="urn:sendMessage" soapActionRequired="true" style="document"/>
|
||||||
<input>
|
<input>
|
||||||
|
|||||||
@@ -516,6 +516,28 @@ function GetVariables($params)
|
|||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function GetAllVariables($params)
|
||||||
|
{
|
||||||
|
|
||||||
|
$vsResult = isValidSession($params->sessionId);
|
||||||
|
|
||||||
|
if ($vsResult->status_code !== 0) {
|
||||||
|
return $vsResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ifPermission($params->sessionId, 'PM_CASES') == 0) {
|
||||||
|
$result = new wsGetVariableResponse(2, "You do not have privileges", null);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ws = new wsBase();
|
||||||
|
|
||||||
|
$res = $ws->getAllVariables($params->caseId);
|
||||||
|
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
|
||||||
function DerivateCase($params)
|
function DerivateCase($params)
|
||||||
{
|
{
|
||||||
$oSession = new Sessions();
|
$oSession = new Sessions();
|
||||||
@@ -1169,6 +1191,7 @@ $server->addFunction("removeDocument");
|
|||||||
$server->addFunction("SendMessage");
|
$server->addFunction("SendMessage");
|
||||||
$server->addFunction("SendVariables");
|
$server->addFunction("SendVariables");
|
||||||
$server->addFunction("GetVariables");
|
$server->addFunction("GetVariables");
|
||||||
|
$server->addFunction("GetAllVariables");
|
||||||
$server->addFunction("DerivateCase");
|
$server->addFunction("DerivateCase");
|
||||||
$server->addFunction("RouteCase");
|
$server->addFunction("RouteCase");
|
||||||
$server->addFunction("executeTrigger");
|
$server->addFunction("executeTrigger");
|
||||||
|
|||||||
Reference in New Issue
Block a user