Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Saviynt / Workday / Provisioning

mohamed_mahmoud
New Contributor
New Contributor

I Have an integration with Workday where I need to provision WD account (for creation and update)
also to update the WD users (employees)

the connection uses in this integration is "Workday_SOAP (Workday)" on Saviynt v23.5

 the UPDATE_ACCOUNT_PAYLOAD Is :

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Body>
<wd:Workday_Account_for_Worker_Update
xmlns:wd="urn:com.workday/bsvc"
wd:version="v40.0">
<wd:Worker_Reference>
<wd:Employee_Reference>
<wd:Integration_ID_Reference>
<wd:ID wd:System_ID="WD-EMPLID">${user.customproperty1}</wd:ID> <!-- Give EMP ID-->
</wd:Integration_ID_Reference>
</wd:Employee_Reference>
</wd:Worker_Reference>
<wd:Workday_Account_for_Worker_Data>
<wd:User_Name>${user.customproperty51}</wd:User_Name> <!-- Give Username-->
</wd:Workday_Account_for_Worker_Data>
</wd:Workday_Account_for_Worker_Update>
</env:Body>
</env:Envelope>

 

So Im referencing the WD Employee ID by user.customerproperty1 and trying to update the User_name for this employee account in WD to take the value from user.customproperty51

as per the documentation we can only see that we can add the SOAP body as :
https://docs.saviyntcloud.com/bundle/WD2-v23x/page/Content/Provisioning.htm#Updating

<soapenv:Body>
  ...
</soapenv:Body>

so we updated the UPDATE_ACCOUNT_PAYLOAD 

to be like:

<soapenv:Body>
<wd:Workday_Account_for_Worker_Update xmlns:wd="urn:com.workday/bsvc"
wd:version="{API_VERSION}">
<wd:Worker_Reference>
<wd:Employee_Reference>
<wd:Integration_ID_Reference>
<wd:ID wd:System_ID="WD-EMPLID">${user.customproperty1}</wd:ID>
</wd:Integration_ID_Reference>
</wd:Employee_Reference>
</wd:Worker_Reference>
<wd:Workday_Account_for_Worker_Data>
<wd:User_Name>${user.customproperty51}</wd:User_Name>
</wd:Workday_Account_for_Worker_Data>
</wd:Workday_Account_for_Worker_Update>
</soapenv:Body>
 

we have tried to provision the update account task for one of the imported(and linked) accounts but we get this error in the update account task:

Error in updateAccountDetails - callResponse: Error while calling webservice https://wd3-impl-services1.workday.com/ccx/service/zalando1/Human_Resources/v40.1 : Validation error occurred. Element not found=Body-http://schemas.xmlsoap.org/soap/envelope/

 

also we added the Envelope as :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wd="urn:com.workday/bsvc">
<soapenv:Header />
<soapenv:Body>
<wd:Workday_Account_for_Worker_Update xmlns:wd="urn:com.workday/bsvc"
wd:version="{API_VERSION}">
<wd:Worker_Reference>
<wd:Employee_Reference>
<wd:Integration_ID_Reference>
<wd:ID wd:System_ID="WD-EMPLID">${user.customproperty1}</wd:ID>
</wd:Integration_ID_Reference>
</wd:Employee_Reference>
</wd:Worker_Reference>
<wd:Workday_Account_for_Worker_Data>
<wd:User_Name>${user.customproperty51}</wd:User_Name>
</wd:Workday_Account_for_Worker_Data>
</wd:Workday_Account_for_Worker_Update>
</soapenv:Body>
</soapenv:Envelope>
 
but we got this error:
Error in updateAccountDetails - callResponse: Error while calling webservice https://wd3-impl-services1.workday.com/ccx/service/zalando1/Human_Resources/v40.1 : Validation error occurred. Element not found=Envelope-http://schemas.xmlsoap.org/soap/envelope/
 

the workday team expects the call to be like:


<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
<env:Body>
<wd:Workday_Account_for_Worker_Update
xmlns:wd="urn:com.workday/bsvc"
wd:version="v40.1">
<wd:Worker_Reference>
<wd:Employee_Reference>
<wd:Integration_ID_Reference>
<wd:ID wd:System_ID="WD-EMPLID">00747926</wd:ID> <!-- Give EMP ID-->
 
</wd:Integration_ID_Reference>
</wd:Employee_Reference>
</wd:Worker_Reference>
 
<wd:Workday_Account_for_Worker_Data>
<wd:User_Name>00747926_Test</wd:User_Name> <!-- Give Username-->
 
</wd:Workday_Account_for_Worker_Data>
</wd:Workday_Account_for_Worker_Update>
</env:Body>
</env:Envelope>
 
What can be fixed here?
 

 

 

 

 

 

3 REPLIES 3

prashantChauhan
Saviynt Employee
Saviynt Employee

Hi @mohamed_mahmoud 

Please refer to the sample payload mentioned in the https://docs.saviyntcloud.com/bundle/WD2-v23x/page/Content/Default-Payloads-for-Connection-Parameter... under UPDATE_ACCOUNT_PAYLOAD

mohamed_mahmoud
New Contributor
New Contributor

The problem is that WID is mandatory here in this example :

 <bsvc:ID bsvc:type="WID">${user.customproperty1}</bsvc:ID> 

and I need to reference System_ID under Integration_ID_Reference

<wd:ID wd:System_ID="WD-EMPLID">00747926</wd:ID> <!-- Give EMP ID-->

prashantChauhan
Saviynt Employee
Saviynt Employee

Hi @mohamed_mahmoud 

As per the FD ticket created by you, this has been resolved.

Can you please mention the config change that fixed the issue?