- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-29-2019 01:07 PM
I am working on an integration between Workday and ServiceNow (New York). I am using the pre-Madrid Workday integration config, but added v32.2, which was the latest version of the API on the Workday side as of when I started this effort. I updated the HR Integrations Schema Mapping records to support v32.2 and created some new ones where the keys changed between Workday versions.
The data imports go in this order when I kick off the scheduled job: Departments > Locations > Job Profiles > Work Profiles > Effective Worker Profiles > Future Worker Profiles.
Issue 1: Departments
Watching the job tracker, I see that there are 2000+ department that the integration is trying to send over, but they are all ignored prior to making it to the staging table. So... they data is in the XML that SN receives, but it's all being skipped and doesn't make it to an import set.
Issue 2: Workers/HR Profiles
Also when I watch the job tracker, the Worker Profiles row always shows 0 records. I use the same envelope in SoapUI and Postman and can see all the records, but it's not working in ServiceNow.
I have enabled debugging via the Source record's related list (sn_hr_integrations.debug) and there are LOTS of logs, including every bit of XML from the Departments service. The Get_Workers service does not show any XML in the logs.
I am able to successfully pull in and transform Locations and Job Profiles, so I don't believe it to be an access-related issue (otherwise I wouldn't be able to use Postman to see the data).
Has anyone seen these issues before? Does anyone have suggestions on how to fix?
(I have a HI ticket open, but I'm getting desperate, as this is holding up some other work.)
Solved! Go to Solution.
- Labels:
-
HR Service Delivery
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-12-2019 06:07 AM
Regarding the Worker import, I found that there was too much data being pulled for each worker and the request was timing out. There was nothing in ServiceNow's logs to indicate this even though the import was running in debug mode.
I decreased the amount of data for each worker by setting the following Response_Group properties in the request:
<bsvc:Include_Personal_Information>true</bsvc:Include_Personal_Information>
<bsvc:Include_Employment_Information>true</bsvc:Include_Employment_Information>
<bsvc:Include_Management_Chain_Data>false</bsvc:Include_Management_Chain_Data>
<bsvc:Include_Organizations>true</bsvc:Include_Organizations>
<bsvc:Include_Transaction_Log_Data>true</bsvc:Include_Transaction_Log_Data>
<bsvc:Exclude_Organization_Support_Role_Data>true</bsvc:Exclude_Organization_Support_Role_Data>
<bsvc:Exclude_Cost_Center_Hierarchies>true</bsvc:Exclude_Cost_Center_Hierarchies>
This took the number of characters (not sure if that's a valid measurement) for each worker from greater than 2,000,000 to about 75,000. It's kind of crazy that that much data was being pulled across, though the vast majority of it was unnecessary in the end.
I also adjusted the number of records using the Count property in Response_Filter.
<!--before-->
<bsvc:Count>50</bsvc:Count>
<!--after-->
<bsvc:Count>25</bsvc:Count>
The import is now running well and I'm getting all the data I need.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-12-2019 06:07 AM
Regarding the Worker import, I found that there was too much data being pulled for each worker and the request was timing out. There was nothing in ServiceNow's logs to indicate this even though the import was running in debug mode.
I decreased the amount of data for each worker by setting the following Response_Group properties in the request:
<bsvc:Include_Personal_Information>true</bsvc:Include_Personal_Information>
<bsvc:Include_Employment_Information>true</bsvc:Include_Employment_Information>
<bsvc:Include_Management_Chain_Data>false</bsvc:Include_Management_Chain_Data>
<bsvc:Include_Organizations>true</bsvc:Include_Organizations>
<bsvc:Include_Transaction_Log_Data>true</bsvc:Include_Transaction_Log_Data>
<bsvc:Exclude_Organization_Support_Role_Data>true</bsvc:Exclude_Organization_Support_Role_Data>
<bsvc:Exclude_Cost_Center_Hierarchies>true</bsvc:Exclude_Cost_Center_Hierarchies>
This took the number of characters (not sure if that's a valid measurement) for each worker from greater than 2,000,000 to about 75,000. It's kind of crazy that that much data was being pulled across, though the vast majority of it was unnecessary in the end.
I also adjusted the number of records using the Count property in Response_Filter.
<!--before-->
<bsvc:Count>50</bsvc:Count>
<!--after-->
<bsvc:Count>25</bsvc:Count>
The import is now running well and I'm getting all the data I need.