Click HERE to see how Saviynt Intelligence is transforming the industry. |
08/10/2023 12:08 PM
Hello,
I am making multiple dependent SOAP calls to create a contingent worker in Workday. For now I am able to make the first call to create a Position_ID and was able to map it to the account.customproperty3 of the user's account. To make the second call, I need to pass the Position_ID value taking from customproperty3 but that does not seem to be working. Rather takes the value '${account.customproperty3}' as it is. How can we map nodes having a reference with types? It is working for nodes like the first name <bsvc:First_Name>${user.firstname}</bsvc:First_Name> but fails for
<bsvc:Position_Reference> <bsvc:ID bsvc:type=\"Position_ID\">${account.customproperty3}</bsvc:ID> </bsvc:Position_Reference>
Error:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client.validationError
faultSubcode:
faultString: Validation error occurred. Invalid ID value. '${account.customproperty3}' is not a valid ID value for type = 'Position_ID'
If I go-ahead and hardcode the Position_ID value it works. This is just one example, I have multiple that I would be needing to map similar to the Position_ID. Please let me know if this is supported by the SOAP workday connector and how?
Thanks,
Solved! Go to Solution.
08/13/2023 11:57 PM
Hello @umang28,
You have use the Soap response value itself, you cannot use the value which are stored from the firstcall.
Thanks.
08/14/2023 12:31 PM - last edited on 02/29/2024 09:21 AM by Dave
@sudeshjaiswal Could you please let me know the correct syntax? I referred (Scenario 8: https://docs.saviyntcloud.com/bundle/SOAP-v55x/page/Content/Scenarios-for-Implementing-the-Connector... and getting the same validation error.
UPDATEJSON:
[{
"CONNECTION": "createPosition",
"REQUESTXML": "${user.email != null && user.email != '' ? ('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:bsvc=\"urn:com.workday/bsvc\"> <soapenv:Header> <wsse:Security soapenv:mustUnderstand=\"1\" xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\"> <wsse:UsernameToken wsu:Id=\"UsernameToken-XXXXXX\"> <wsse:Username>' +USERNAME + '</wsse:Username> <wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">' +PASSWORD+'</wsse:Password> <wsse:Nonce EncodingType=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary\">lLP+oysknDXxg0ZcnRTUXg==</wsse:Nonce> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <bsvc:Create_Position_Request bsvc:version=\"v39.0\"> <bsvc:Business_Process_Parameters> <bsvc:Auto_Complete>true</bsvc:Auto_Complete> <bsvc:Run_Now>true</bsvc:Run_Now> </bsvc:Business_Process_Parameters> <bsvc:Create_Position_Data> <bsvc:Supervisory_Organization_Reference> <bsvc:ID bsvc:type=\"Organization_Reference_ID\">27000207</bsvc:ID> </bsvc:Supervisory_Organization_Reference> <bsvc:Position_Data> <bsvc:Position_ID></bsvc:Position_ID> <bsvc:Job_Posting_Title>Contingent Worker Transition</bsvc:Job_Posting_Title> </bsvc:Position_Data> </bsvc:Create_Position_Data> </bsvc:Create_Position_Request> </soapenv:Body> </soapenv:Envelope>') : ''}",
"REQUESTPARAMS": {
"Content-Type": "text/xml"
},
"RESPONSEDATAPATH": "Body.Create_Position_Response",
"RESPONSEMAPPING": {
"POSITION": "Body.Create_Position_Response.Position_Reference.ID(@wd:type=='Position_ID')"
},
"CONNECTION": "createAccount",
"REQUESTXML": "${user.email != null && user.email != '' ? ('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:bsvc=\"urn:com.workday/bsvc\"> <soapenv:Header> <wsse:Security soapenv:mustUnderstand=\"1\" xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\"> <wsse:UsernameToken wsu:Id=\"UsernameToken-XXXXXX\"> <wsse:Username>' +USERNAME + '</wsse:Username> <wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">' +PASSWORD+'</wsse:Password> <wsse:Nonce EncodingType=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary\">lLP+oysknDXxg0ZcnRTUXg==</wsse:Nonce> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <bsvc:Contract_Contingent_Worker_Request bsvc:version=\"v39.0\"> <bsvc:Business_Process_Parameters> <bsvc:Auto_Complete>true</bsvc:Auto_Complete> <bsvc:Run_Now>true</bsvc:Run_Now> </bsvc:Business_Process_Parameters> <bsvc:Contract_Contingent_Worker_Data> <bsvc:Applicant_Data> <bsvc:Personal_Data> <bsvc:Universal_ID>222223</bsvc:Universal_ID> <bsvc:Name_Data> <bsvc:Legal_Name_Data> <bsvc:Name_Detail_Data> <bsvc:Country_Reference bsvc:Descriptor=\"?\"> <bsvc:ID bsvc:type=\"ISO_3166-1_Alpha-2_Code\">US</bsvc:ID> </bsvc:Country_Reference> <bsvc:First_Name>${user.lastname}</bsvc:First_Name> <bsvc:Middle_Name></bsvc:Middle_Name> <bsvc:Last_Name>Bechkam</bsvc:Last_Name> </bsvc:Name_Detail_Data> </bsvc:Legal_Name_Data> </bsvc:Name_Data> <bsvc:Contact_Data> <bsvc:Address_Data> <bsvc:Country_Reference> <bsvc:ID bsvc:type=\"ISO_3166-1_Alpha-2_Code\">US</bsvc:ID> <bsvc:ID bsvc:type=\"ISO_3166-1_Alpha-3_Code\">USA</bsvc:ID> <bsvc:ID bsvc:type=\"ISO_3166-1_Numeric-3_Code\">840</bsvc:ID> </bsvc:Country_Reference> <bsvc:Country_Region_Reference> <bsvc:ID bsvc:type=\"Country_Region_ID\">USA-TX</bsvc:ID> <bsvc:ID bsvc:type=\"ISO_3166-2_Code\">TX</bsvc:ID> </bsvc:Country_Region_Reference> <bsvc:Address_Line_Data bsvc:Type=\"ADDRESS_LINE_1\" bsvc:Descriptor=\"Address Line 1\">191002 Ridgewood Pkwy</bsvc:Address_Line_Data> <bsvc:Subregion_Data bsvc:Type=\"REGION_SUBDIVISION_1\" bsvc:Descriptor=\"County\">Bexar</bsvc:Subregion_Data> <bsvc:Postal_Code>78259-1834</bsvc:Postal_Code> <bsvc:Municipality>San Ant</bsvc:Municipality> <bsvc:Usage_Data bsvc:Public=\"1\"> <bsvc:Type_Data bsvc:Primary=\"1\"> <bsvc:Type_Reference> <bsvc:ID bsvc:type=\"Communication_Usage_Type_ID\">WORK</bsvc:ID> </bsvc:Type_Reference> </bsvc:Type_Data> </bsvc:Usage_Data> </bsvc:Address_Data> </bsvc:Contact_Data> </bsvc:Personal_Data> </bsvc:Applicant_Data> <bsvc:Position_Reference> <bsvc:ID bsvc:type=\"Position_ID\">${POSITION}</bsvc:ID> </bsvc:Position_Reference> <bsvc:Contract_Start_Date>2023-08-02</bsvc:Contract_Start_Date> <bsvc:Contract_Contingent_Worker_Event_Data> <bsvc:Contingent_Worker_ID></bsvc:Contingent_Worker_ID> <bsvc:Position_ID></bsvc:Position_ID> <bsvc:Contract_Worker_Type_Reference> <bsvc:ID bsvc:type=\"Contingent_Worker_Type_ID\">Contractor_Non_Learning</bsvc:ID> </bsvc:Contract_Worker_Type_Reference> <bsvc:Position_Details> <bsvc:Job_Profile_Reference> <bsvc:ID bsvc:type=\"Job_Profile_ID\">21999999</bsvc:ID> </bsvc:Job_Profile_Reference> <bsvc:Position_Title>Contingent Worker Transition</bsvc:Position_Title> <bsvc:Location_Reference> <bsvc:ID bsvc:type=\"Location_ID\">L-00299</bsvc:ID> </bsvc:Location_Reference> <bsvc:Position_Time_Type_Reference> <bsvc:ID bsvc:type=\"Position_Time_Type_ID \">Full_time</bsvc:ID> </bsvc:Position_Time_Type_Reference> </bsvc:Position_Details> </bsvc:Contract_Contingent_Worker_Event_Data> </bsvc:Contract_Contingent_Worker_Data> </bsvc:Contract_Contingent_Worker_Request> </soapenv:Body> </soapenv:Envelope>') : ''}",
"REQUESTPARAMS": {
"Content-Type": "text/xml"
}
}]
08/16/2023 08:57 AM
I would just like to know if the mapping on the 2nd call can be done irrespective if it is getting the values from the responsemapping from call1 or not?
For example in the 2nd call if I map <bsvc:First_Name>${user.firstname}</bsvc:First_Name>
the user is getting created in workday with the first name as ${user.firstname}
Earlier I thought it was to do with the responsmapping from the 1st call causing an issue but looks like even if I do a simple mapping like the above example also lands into the same issue. Please advice.
08/16/2023 09:48 PM
Hello @umang28,
Can you please provide the Call1 Soap Response?
Thanks,
08/17/2023 06:45 AM - last edited on 02/29/2024 09:22 AM by Dave
The below response from call1 is what is captured in the logs:
2023-08-16 14:22:01,993 [quartzScheduler_Worker-4] TRACE provisoning.SoapProvisioningService - XML after removing non-valid chars:: <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><wd:Create_Position_Response wd:version="v39.0" xmlns:wd="urn:com.workday/bsvc"><wd:Event_Reference><wd:ID wd:type="WID">XXXXXX</wd:ID></wd:Event_Reference><wd:Position_Reference><wd:ID wd:type="WID">XXXXXX</wd:ID><wd:ID wd:type="Position_ID">32011716</wd:ID></wd:Position_Reference></wd:Create_Position_Response></env:Body></env:Envelope>
08/17/2023 07:24 AM - last edited on 02/29/2024 09:22 AM by Dave
I have attached the SOAP call and logs for reference. In this instance I have hard coded all the attribute values including the Position_ID (32011719) in Call2 and mapped <bsvc:First_Name>${USER.FIRSTNAME}</bsvc:First_Name>. The worker gets created successfully in Workday but with the first name as ${USER.FIRSTNAME}
08/17/2023 09:06 AM - last edited on 02/29/2024 09:22 AM by Dave
@sudeshjaiswal Forgot to add the SOAP call.
08/20/2023 11:44 PM
Hello @umang28,
Can you please try with below response mapping path.
"RESPONSEDATAPATH": "Body.Create_Position_Response",
"RESPONSEMAPPING": {
"POSITION": "Body.Create_Position_Response.Position_Reference.ID[1].__text"
}
Thanks
08/21/2023 06:26 AM
@sudeshjaiswal The response mapping you provided did not work. Could you please confirm why is the mapping <bsvc:First_Name>${user.firstname}</bsvc:First_Name> not working in the call2? The value of the first name is getting directly from the user profile and not from any response mapping from call1.
09/26/2023 09:34 PM
Hello @umang28,
Sorry for the late response.
Could you please confirm if you have used <bsvc:First_Name>${user.firstname}</bsvc:First_Name> in the small case, as i can see the in your payload you have used all in caps, can you confirm if you have tried with the lower case.
Thanks,
10/25/2023 08:21 AM
@sudeshjaiswal I was able to resolve it by using the below format:
<bsvc:First_Name>'+user.firstname+'</bsvc:First_Name>
Thanks,
10/25/2023 08:19 PM
Hello @umang28,
Thanks for the confirmation.
Regards,
Sudesh