Symantec IGA

  • 1.  How to call workflow custom buttons from TEWS

    Broadcom Employee
    Posted May 28, 2015 10:08 AM

    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.



  • 2.  Re: How to call workflow custom buttons from TEWS

    Broadcom Employee
    Posted Jun 19, 2018 03:50 AM

    Hi Sagi

    Thanks for sharing this information, do you happen to have a sample SOAP request for changing a workflow process status through TaskContext? the workflow sample included in the IAM_Suite tools samples does not work and IM always returns an error. Obviously something is missing in that sample call.

    Thanks a lot

    Russi



  • 3.  Re: How to call workflow custom buttons from TEWS

    Broadcom Employee
    Posted Jun 19, 2018 01:06 PM

    Hi, in case someone cares this is the correct SOAP request. The ImplementUserModificationRequest  is the approval task tag. 

     

    <?xml version="1.0" encoding="UTF-8"?>

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

                    <soapenv:Body>

    <TaskContext xmlns="http://tews6/wsdl">

     

    <admin_id>imadmin</admin_id>

    <admin_password>test</admin_password>

    <workitem_id>1 4 803:WPDS</workitem_id>

    <action>submit_action</action>

    <submit_action>implemented</submit_action>

     

    </TaskContext>

    <ImplementUserModificationRequest xmlns="http://tews6/wsdl">

    </ImplementUserModificationRequest>

     

    </soapenv:Body>

    </soapenv:Envelope>



  • 4.  Re: How to call workflow custom buttons from TEWS

    Posted Jul 20, 2018 02:33 PM

    Hi,

    How can I retrieve the workitem_id? Is it possible to approve using the transaction_id?