TEWS calls for Public Tasks failing after upgrade

Document ID : KB000008200
Last Modified Date : 06/09/2018
Show Technical Document Details
Issue:

After upgrading to Identity Manager 12.6.8 or newer, Public Tasks TEWS calls are no longer working - the following error is seen instead

<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tews="http://tews6/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>Unknown processing error.</faultstring>
         <detail>
            <tews:ImsException version="6.0">
               <tews:exception>
                  <tews:name>com.netegrity.ims.exception.IMSException</tews:name>
                  <tews:code>700</tews:code>
                  <tews:description>Transaction ID was not passed in this request for a stateful task.</tews:description>
                  <tews:transaction/>
               </tews:exception>
            </tews:ImsException>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

Environment:
Identity Manager 12.6.8 upgraded from an earlier release
Cause:

Additional restrictions have been added to Public Tasks in IM 12.6.8

Resolution:

It is now mandatory to include transaction_id for all Public Tasks TEWS requests.

Make sure the TEWS requests includes

<wsdl:transaction_id>xxxxx</wsdl:transaction_id>

There are no specific requirements for the actual transaction_id (content or size wise) however it must be present.

As an example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://tews6/wsdl">
   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:PublicTaskContext>
         <wsdl:transaction_id>NEW001</wsdl:transaction_id>
         <wsdl:no_namespace_on_soapfaults_header>?</wsdl:no_namespace_on_soapfaults_header>
      </wsdl:PublicTaskContext>
      <wsdl:ForgottenPassword>
         <wsdl:ForgottenPasswordSearch>
            <wsdl:Subject index="?">
               <wsdl:UID>superadmin</wsdl:UID>
            </wsdl:Subject>
         </wsdl:ForgottenPasswordSearch>
         <wsdl:ForgottenPasswordForgottenPasswordTab/>
      </wsdl:ForgottenPassword>
   </soapenv:Body>
</soapenv:Envelope>

Additional Information:
https://docops.ca.com/ca-identity-manager/12-6-8/EN/programming/programming-guide-for-java/task-execution-web-service/remote-task-requests/how-a-remote-request-is-processed/