We've successfully configured the integration to work one way SM > PPM but have been unable to get updates from PPM to be reflected back into SM. Has anyone else been able to successfully get this piece to work?
Hey guys...this ended up being a Service Manager configuration issue for us. In our case we needed to modify the CM object to evaluate to true to allow updates via web services.
Hope this helps.
An error is thrown attempting to create a change management profile record via web services. KM718357
Products > service manager
Summary: When submitting a SOAP request to create a Change Management profile record an error "User falcon does not have authorization to perform the action". This is expected behaviour and is caused by a condition evaluating to false in the related display option. The error can be removed and the profile created by editting the Display Option condition such that it evaluates to true.
When submitting a SOAP request to create a Change Management profile record an error "User falcon does not have authorization to perform the action". For example:
User falcon does not have authorization to perform the action: add
Webservice transaction workflow goes through the document engine. A section of the RAD checks for display options for the screen.id and action being invoked to process the request. If records are found, the workflow evaluates the conditions of the display options to determine if the account has permissions to invoke the action. This occurs in the RAD application se.external.validate panel check.option.
In this case the display option checked is screen.id="profile.view" and action="add"
The condition evaluated is:
evaluate(add in $L.env) and filename($L.filed)~="dbdict" and $L.mode~="add"
When a user session adds a profile through the GUI, they do so through the search screen, or from an existing profile (when copying from an existing record). As such, the variable $L.mode is either "search" or "browse" respectively.
However, in the case through WebServices $L.mode is set to "add"
As a result when the condition is evaluated, it evaluates to false. In some cases, where multiple display options met the search criteria, the application checks each option until a condition evaluates to true. If no other display options are found, as in this case, the request is considered to not have sufficient priviledges to be processed.
Workaround / Fix
The condition in the Display Option record can be tailored so that it evaluates to true and as such the record will be created.
Access display options via "do" command line Enter a Screen ID: =profile.view Enter a Unique ID: =profile.view_add (put '=profile.view_add' as 'profile.view_add' will return 3 records) Click Search. One record should be found. Either change the condition field or place the following condition in the user condition field: evaluate(add in $L.env) and filename($L.filed)~="dbdict" and ($L.mode~="add" or sysinfo.get("Environment")="sm")
The same type of issue may occur using web services, when trying to update an interation created through the ESS interface. The web services update works fine when the interaction was created through the normal interface.
The message received in the Web Service response is: "User XXX does not have authorization to perform action:save"
The SOAP request was made with a "falcon" login, and both the request and response are below:
20 - Not a problem
Response from above (with some detail left out, as noted):
SD10012 ANYONE, NOT_VALID 20 - Not a problem
User falcon does not have authorization to perform the action: save
Looking at the trace, this was a valid response message. Out of box, there is no display option record for "cc.edit.incident" and the "save" action which has a condition that will return true. So, the save could not be peformed. The message could be a little better, and say something like "For the cc.edit.incident display option and an action of "save", there is no condition which will evaluate to true. Therefore, the save action cannot be performed". In order to allow a save, create a new display option that will return true, or modify an existing display option.