Identity Manager allows to add custom workflow buttons. However, how will that be used via TEWS?
Specifically, let's look at the 'Return' value:
Here is the TaskContext TEWS wsdl element where you can see the generated values but you will not see the custom 'Return' value:
<xs:element name="TaskContext">
<xs:complexType>
<xs:all>
<xs:element name="admin_id" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="admin_password" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="transaction_id" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="connection_id" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="workitem_id" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="delegator_id" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="workitem_owner_id" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="worklist_task_tag" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="no_namespace_on_soapfaults_header" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="action" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="approve" />
<xs:enumeration value="reject" />
<xs:enumeration value="reserve" />
<xs:enumeration value="release" />
<xs:enumeration value="reassign" />
<xs:enumeration value="submit_action" />
<xs:enumeration value="multiactionapprovereject" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="submit_action" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:all>
</xs:complexType>
</xs:element>
The way to call the custom button's value via TEWS is as follows:
<wsdl:action>submit_action</wsdl:action>
<!--Optional:-->
<wsdl:Submit_action>return</wsdl:Submit_action>
(where 'return' is the button's value in this example).
Basically , the way it works is that custom buttons are assigned with values which are then being set in the workpoint database. It's this value that links the button's click with the actual outcome. So, from a wsdl client like TEWS you basically need to submit that same value which in turn is same like clicking that custom button.
Yours,
Sagi Gabay,
CA Technologies.