errors / soap-web-services / soap-change-other-ids-invalid-subelement-worker-reference
Change_Other_IDs Web Service Rejects Worker_Reference as Invalid Subelement
The error <SOAP-ENV:Fault xmlns:wd="urn:com.workday/bsvc"><faultcode>SOAP-ENV:Client.validationError</faultcode><faultstring>Validation error occurred. Invalid Subelement Worker_Reference-urn:com.workday/bsvc for element Change_Other_IDs_Business_Process_Data (6$56999)</faultstring></SOAP-ENV:Fault>
What it means
When calling the Change_Other_IDs web service to delete or update a custom identifier, Workday rejects the request because the Worker_Reference element inside Change_Other_IDs_Data is not recognized as a valid subelement for that operation. This usually means the request body's element structure or ordering does not match what the operation expects for this kind of call.
Troubleshooting
- Confirm the WWS version referenced in the request (wd:version) actually supports the Change_Other_IDs_Data schema you are using, since the web service schema for custom ID operations has changed across versions.
- Compare your Change_Other_IDs_Data element order and nesting against the current WSDL for the exact WWS version in the faultstring's namespace, since SOAP requests are order-sensitive and an out-of-sequence element reads as "invalid subelement" even if the tag name is correct.
- Isolate the problem by removing the Custom_Identification_Data block and sending only the Worker_Reference to confirm the worker resolves correctly, then add the custom ID delete block back on its own.
- Check whether wd:Replace_All="false" is compatible with the delete flag on Custom_ID; some combinations of Replace_All and Delete require a different element structure.
⚡ Quick fix
Regenerate the request body directly from the current WWS WSDL for the exact wd:version in use, rather than reusing an older sample request, and resend.
✓ Permanent fix
Pin integrations to a specific WWS version and regenerate request templates whenever that version's WSDL changes, instead of hand-maintaining SOAP envelopes across version bumps.
Was this helpful?